I have a few materials that are slightly different but all have an emission shader. Whenever I want to control the strength of all the emission shaders I have to go into each object's material one by one to change the value. I'm wondering if there's a node or add on that can change all of them at the same time. Thanks for any help I appreciate it.
Tweaking values inside any material with a driver in the current scene's properties :
Go into the Scene properties, expand the Custom Properties foldout and click on Add to add a new custom property.
Right click in the field, choose Copy as New Driver.
Then right click into the field you want to be driven by the custom property, and choose Paste Driver.
Now the purple fields get updated when you change the custom property in the Scene properties.
- You neeed blender 2.81 + to have access to the "Copy as new driver" context choice
- Notice the purple tint in the driven fields. That means you can't directly change the values anymore. If you want to get rid of the driver, right click in the field then choose "Delete Driver"
One way would be to CtrlG put an Input > Value node into its own little 1-element Node Group. Then use the group to control the strength of the Emission in all your materials.
Any edit to the value in the group will be reflected in all the materials, and it can be keyed, or, as @batFINGER has commented, driven.
To drive the value, you could create an controller Empty, just to contain Custom Properties. Add a Custom Property to it, called something like 'Emission Strength' Right-click in the property's value field, and 'Copy as New Driver'. Then right-click in the value field of the grouped Value input node, and 'Paste Driver'.
Now changing the value in the Empty's 'Emission Strength' property will change the emission of all the materials.