# How to customize a material without duplicating it?

I know how to share a material among different objects, customizing it by using the ObjectInfo node. I want do something similar but replacing the ObjectInfo node with a custom property (different for each object, and animated with an F-Curve) that the material can automatically read as input.

How could I do this? Adding a custom property to the object? How would I access it from nodes? Could the ObjectInfo node be enhanced to support this custom property (as well as random, object index, location, material index)?

• Does this help? blender.stackexchange.com/questions/40634/… – Ray Mairlot May 8 at 17:28
• What kind of property do you need? Integer, float, vector? – Jaroslav Jerryno Novotny May 8 at 18:15
• I need a float, in the range [0.0, 1.0]. The following answer would work, but I was hoping for an easier way (e.g. augmenting the ObjectInfo node with a custom property). blender.stackexchange.com/questions/72101/… – Dazotaro May 8 at 18:21
• @RayMairlot That link does solve my problem using drivers. Thanks for your help. – Dazotaro May 8 at 18:33
• You could hack the Object ID property, the maximum is 32767 so that would give you 1 / 32767 = 0.00003 precision in [0,1] range. For real floats you can use vertex colors, but that is bigger workaround. The ultimate would be to script your own cycles node, but you would have to distribute that as an addon to everywhere you want it to work. It's also a lot more work. – Jaroslav Jerryno Novotny May 8 at 18:34