# parent

> Parent of this material.

## Definition

* **Type:** Property
* **Namespace:** [UnityEngine](/engine/6000.7/script-reference/unityengine.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
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.

Additional Resources: [Material.IsChildOf](/engine/6000.7/script-reference/unityengine/material/ischildof.md), [Material.IsPropertyOverriden](/engine/6000.7/script-reference/unityengine/material/ispropertyoverriden.md), [Material.IsPropertyLocked](/engine/6000.7/script-reference/unityengine/material/ispropertylocked.md).

### Examples

```csharp
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
}
```
