Should I have one material, and lots of different masks for diffuse and emission, and use lots of multiply nodes to switch the individual lamps on and off?
Should I make each lamp into its own actor with its own material?
It would probably be easier to have an an actor which has a material with the 3 button colours that can be switched with custom text/texture on them for the text. There should be some batching for each material that is in the same colour state.
I’m not sure I understand that description. You mean one actor for each lamp, and a unique material per actor? Because I’m not sure how to do the text (diffuse texture) otherwise…
I mean a single material that you can update with a light colour and if it’s on or not, also a parameter you can set per actor with the correct text texture. It’s also possible to use a text render to do that but.
I hope this works, unzip it in a content folder and you should be able to figure out most of it