So I have a scene, which is a light, controlled via a driver on a bone.
If I make a new scene copying the object data from the current scene, I get a new light, and a new bone, but the driver on the new light is still linked to the original bone from the 1st scene. Is this expected behaviour, or kind of a bug?
I think if you check, you will find that you have two different armatures ( or you should). The bones are named the same because the armatures are named differently. You can check it by changing the name of the bone in the source file and it should not change the name in the copied file.
This behavior is expected because copying the data does not change details in drivers. For something like this, I suggest making a rig for the light that you import as if it were a character. The only problem is that you cannot link in more than one instance of a rig without having problems, but there is a workaround. In your file explorer, create a soft link to the file containing the rig. This link will point to the same data, but Blender will recognize it as a different linked rig. So, you can import a rig from each file and soft link that you have on your file system. If you want five of these lights, create four soft links to the external file with the rig, and import the rig from the original and from each of the four links.
That is the simplest way that I have found to do something like this, but I was doing it for complete characters. For what you are doing, just modifying the driver of each copy may be far easier. If that is the case, perhaps this workaround will be helpful to others who read this.
Nice workaround, will be handy in future for sure, and it’s the first time I’d come across it, so thank you very much!
What I did this time round was just hop hack to my original scene with the control bone, skip back to a frame where the controller was off, and then hop back to the new scene, where I wanted the lights to be off. If I’d wanted to control the lights in the new scene, I think I would have done as you suggested and linked the driver to the new bone/armature. A simple workaround, I just wanted to make sure I wasn’t missing anything.