# Apply(MaterialProperty)

> Apply extra initial values to the material.

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor](/engine/6000.7/script-reference/unityeditor.md)
* **Assembly:** UnityEditor.CoreModule

```csharp
public virtual void Apply(MaterialProperty prop)
```

### Parameters

**** (\[MaterialProperty]\(/engine/6000.7/script-reference/unityeditor/materialproperty)): The [MaterialProperty](/engine/6000.7/script-reference/unityeditor/materialproperty.md) to apply values for.

### Remarks

This function is called in all property drawers when a new material is created, or a shader is changed on an existing material. This lets the property drawers apply any extra values to the materials, for example to setup shader keywords.

Note that if you change a property by assigning a value to it, Apply() is not called automatically. If you have any extra setup you need it to do, you should call it yourself.
