# Clear()

> Clear material property values.

## Definition

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

```csharp
public void Clear()
```

### Remarks

[Graphics.RenderMesh](/engine/6000.6/script-reference/unityengine/graphics/rendermesh.md) copies the passed property block, so the most efficient way of using it is to create one block and reuse it for all DrawMesh calls. Use [MaterialPropertyBlock.Clear](/engine/6000.6/script-reference/unityengine/materialpropertyblock/clear.md) to clear block's values, and [MaterialPropertyBlock.SetFloat](/engine/6000.6/script-reference/unityengine/materialpropertyblock/setfloat.md), [MaterialPropertyBlock.SetVector](/engine/6000.6/script-reference/unityengine/materialpropertyblock/setvector.md), [MaterialPropertyBlock.SetColor](/engine/6000.6/script-reference/unityengine/materialpropertyblock/setcolor.md), [MaterialPropertyBlock.SetMatrix](/engine/6000.6/script-reference/unityengine/materialpropertyblock/setmatrix.md) to add values.

### Examples

```csharp
using UnityEngine;

public class Example : MonoBehaviour
{
    Mesh aMesh;
    Material aMaterial = new Material(Shader.Find("VertexLit"));

    void Update()
    {
        MaterialPropertyBlock materialProperty = new MaterialPropertyBlock();

        // Clear any property and add a red color
        materialProperty.Clear();
        materialProperty.SetColor("_Color", Color.red);
        Graphics.DrawMesh(aMesh, new Vector3(5, 0, 0),
            Quaternion.identity, aMaterial, 0, null, 0, materialProperty);

        // Clear any property and add a green color
        materialProperty.Clear();
        materialProperty.SetColor("_Color", Color.green);
        Graphics.DrawMesh(aMesh, new Vector3(-5, 0, 0),
            Quaternion.identity, aMaterial, 0, null, 0, materialProperty);
    }
}
```
