# UploadMeshData(bool)

> Upload previously done Mesh modifications to the graphics API.

## Definition

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

```csharp
public void UploadMeshData(bool markNoLongerReadable)
```

### Parameters

**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)): Frees up system memory copy of mesh data when set to true.

### Remarks

When creating or modifying a Mesh from code (using [Mesh.vertices](/engine/6000.0/script-reference/unityengine/mesh/vertices.md), [Mesh.normals](/engine/6000.0/script-reference/unityengine/mesh/normals.md), [Mesh.triangles](/engine/6000.0/script-reference/unityengine/mesh/triangles.md) etc. properties), the Mesh data is internally marked as "modified" and is sent to the graphics API next time the Mesh is rendered.

Call UploadMeshData to immediately send the modified data to the graphics API, to avoid a possible problem later. Passing true in a markNoLongerReadable argument makes Mesh data not be readable from the script anymore, and frees up system memory copy of the data.

Additional Resources: [Mesh.vertices](/engine/6000.0/script-reference/unityengine/mesh/vertices.md), [Mesh.normals](/engine/6000.0/script-reference/unityengine/mesh/normals.md), [Mesh.triangles](/engine/6000.0/script-reference/unityengine/mesh/triangles.md), [Mesh.MarkDynamic](/engine/6000.0/script-reference/unityengine/mesh/markdynamic.md).
