# ApplyPropertyOverride

> Applies an override associated with a Material Variant to a target.

## Definition

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

## ApplyPropertyOverride(Material, int, bool)

Applies an override associated with a Material Variant to a target.

```csharp
public void ApplyPropertyOverride(Material destination, int nameID, bool recordUndo = true)
```

### Parameters

**** (\[Material]\(/engine/6000.6/script-reference/unityengine/material)): The Material to which the Editor applies the override.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Property name ID, use [Shader.PropertyToID](/engine/6000.6/script-reference/unityengine/shader/propertytoid.md) to get it.**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)): Wheter the editor should record an undo operation for this action.

### Remarks

Sets the value of a property of this Material on a destination Material. The destination material must be an ancestor of this Material. After you apply an override, the Editor no longer marks the associated Property as overriden, and discards any change of the property on ancestors of this Material up to the destination Material. Note that this method is Editor-only.

Additional Resources: [Material.IsChildOf](/engine/6000.6/script-reference/unityengine/material/ischildof.md), [Material.IsPropertyOverriden](/engine/6000.6/script-reference/unityengine/material/ispropertyoverriden.md), [Material.RevertPropertyOverride](/engine/6000.6/script-reference/unityengine/material/revertpropertyoverride.md).

## ApplyPropertyOverride(Material, string, bool)

Applies an override associated with a Material Variant to a target.

```csharp
public void ApplyPropertyOverride(Material destination, string name, bool recordUndo = true)
```

### Parameters

**** (\[Material]\(/engine/6000.6/script-reference/unityengine/material)): The Material to which the Editor applies the override.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Property name, e.g. "\_SrcBlend".**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)): Wheter the editor should record an undo operation for this action.

### Remarks

Sets the value of a property of this Material on a destination Material. The destination material must be an ancestor of this Material. After you apply an override, the Editor no longer marks the associated Property as overriden, and discards any change of the property on ancestors of this Material up to the destination Material. Note that this method is Editor-only.

Additional Resources: [Material.IsChildOf](/engine/6000.6/script-reference/unityengine/material/ischildof.md), [Material.IsPropertyOverriden](/engine/6000.6/script-reference/unityengine/material/ispropertyoverriden.md), [Material.RevertPropertyOverride](/engine/6000.6/script-reference/unityengine/material/revertpropertyoverride.md).
