I see, thank you!
As other people said, instancing a material does not have any impact on performance. If you have an instanced and non-instanced material, they would cost the same at run time.
What it sounds like you want to do is write a single material that allows inputs for unique textures for some objects in the scene. For example, if you want to have 30 different stone pillars, but you want them to each be a different color, you could use one material and an id mask and then assign the different colors to each pillar. The same is true of any texture you want to be unique. That way, they’d all be different colors, but only use one material.
Yes, that’s exactly what I want to do. I have a modular kit that all shares the same properties but I want to create unique textures for each piece. I’ll be creating a master material with the texture set as a parameter so that I can swap it for each piece. Though I hoped maybe all instances would count as 1 draw call so that I’d have amazing performance, hahah. Anyways, I’ll figure it out.
Thank you!