Download

Model instances can pass material parameter overrides

Is it possible to store material instance parameter overrides on a specific model instance or inside model properties?
So that model instances can pass material parameter overrides at runtime without creating a ton of material instances for minor variations… for example, models use the same built shader, but pass an overridden input depending on the model. Or, float parameters (UVMultiply, EmissiveIntensity, etc)

In our scenario, we have large modular kit of models, some have custom object masks baked (grunge blend, etc). Those need a material instance setup for each base material we want to use on it. (brick, plaster, etc). with just the ‘blend mask’ overridden. If we could store the override on the model properties, we could apply/swap the same material instance(s) to hundreds of meshes. What is best practice for large sets of modular assets with tiling base materials and object masks or custom normals? It will be hundreds of models multiplied by each base material we want to use with it. We could create tools to automate instance creation + plug in mask if present. If there is a better way, I’d love to know :slight_smile: