# Dispose()

> Use this method to dispose of the MeshDataArray struct.

## Definition

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

```csharp
public void Dispose()
```

### Remarks

It is important to dispose of a MeshDataArray struct once you have finished working with it. Modifying a Mesh while a MeshDataArray struct for that Mesh exists results in memory allocations and data copies. Use [Dispose](/engine/6000.0/script-reference/unityengine/mesh/meshdataarray/dispose.md) to dispose of the MeshDataArray struct when you have finished using it, or use the C# using pattern to do this automatically:

```csharp
using Unity.Collections;
using UnityEngine;
public class ExampleScript : MonoBehaviour
{
    void Start()
    {
        var mesh = new Mesh();
        mesh.vertices = new[] {Vector3.one, Vector3.zero};
        using (var dataArray = Mesh.AcquireReadOnlyMeshData(mesh))
        {
            // prints "2"
            Debug.Log(dataArray[0].vertexCount);
        }
    }
}
```

Additional Resources: [Mesh.AcquireReadOnlyMeshData](/engine/6000.0/script-reference/unityengine/mesh/acquirereadonlymeshdata.md).
