Game Engines

Material Instance

Lightweight material variant

Also known as: Material variant

Definition

A material instance is a child of a parent shader graph that overrides only specific parameters — different base colour, different roughness scalar, different texture set — without recompiling the underlying shader. This lets a single shader power hundreds of visual variants while staying GPU-efficient: switching a material instance is free, switching a fully different shader incurs a draw-call break.

In production

Standard practice in UE5: build one "Master Material" with all the bells and whistles (base colour, normal, roughness, metallic, and a handful of exposed scalar/vector parameters), then create dozens of material instances per asset family (e.g., 30 wood variants, 50 stone variants) from that single master. Each instance just stores small parameter overrides rather than a full shader recompile, which is why switching between instances at runtime is essentially free while switching the underlying master material requires a recompile and can stall the render thread. Unity's equivalent is a Material that references a shared Shader asset with exposed properties, and Substance Painter/Designer export presets often map directly onto an engine's instance parameter slots for a fast turnaround. A common workflow mistake is exposing too few parameters on the master material, forcing artists to duplicate and edit the master itself for one-off variants — which defeats the instancing system's GPU-efficiency benefit and bloats the shader permutation count the project has to compile.

Learn Material Instance in

Tools that use Material Instance

See also