Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


parent

Parent of this material.
Read time 1 minuteLast updated 4 days ago

Definition

  • Type: Property
  • Namespace: UnityEngine
  • Assembly: UnityEngine.CoreModule
public Material parent { get; set; }

Remarks

Materials with a non null parent are referred to as material variants.
Material variants will inherit all their properties from their parent, and can override them on a per property basis. Changing the value of a property of a material will therefore impact all variants below in the hierarchy.
This property is only available in the Editor, in a built project all material hierarchies are flattened.

Examples

using UnityEngine;using UnityEditor;public class Example : MonoBehaviour{#if UNITY_EDITOR [MenuItem("GameObject/Create Material Variant")] static void DuplicateMaterial() { Material selected = Selection.activeObject as Material; if (selected == null) return; // Create a material variant from selected material // And override it's color to red Material material = new Material(selected); material.parent = selected; material.color = Color.red; AssetDatabase.CreateAsset(material, "Assets/" + selected.name + " Variant.mat"); }#endif}