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.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.