These instructions explain how to work with Material Variants. Programmers should consult the Material and MaterialEditor API documentation for information about how to work with Material Variants in scripts.
The Material Variant workflow is mostly the same as the Prefab Variant workflow. There are two key differences:
There are two ways to create a Material Variant.
When you create a new Material Variant, it has the name [Material Name] Variant (Material Variant) in the Material Inspector. When Unity begins to load a new Material Variant, the Material Variant has a striped icon in the Project window. After Unity finishes loading the new Material Variant, the normal Material preview replaces the striped icon in the Project window.
For a detailed explanation of how inheritance determines the effect of reverting changes, see Material Variant inheritance or Revert an Override applied upward.
You can apply an Override upward to any ancestor in the hierarchy.
To apply an Override to a parent, right-click on an Override and select Apply to [name of parent] in the dropdown.
To apply an Override to an ancestor, right-click on an Override and select Apply to [name of ancestor] in the dropdown.
Once an Override is applied upward, you can no longer revert it on the child that originated it. Instead, you must revert it on the recipient parent or ancestor; see the instructions in Revert one or more Overrides on a Material Variant.
There are two ways to reparent a Material Variant.
Drag the new parent Material or Material Variant onto the target child.
To unlock the property, click Lock in children again.
There are two ways to convert a Material Variant to a Material.