# firstVertex

> First vertex in the index buffer for this sub-mesh.

## Definition

* **Type:** Property
* **Namespace:** [UnityEngine.Rendering](/engine/6000.3/script-reference/unityengine/rendering.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
public int firstVertex { readonly get; set; }
```

### Remarks

Together with [SubMeshDescriptor.vertexCount](/engine/6000.3/script-reference/unityengine/rendering/submeshdescriptor/vertexcount.md), this defines the range of vertices that are possibly used by this sub-mesh. These values are important for any CPU-based mesh processing that would be done, for example dynamic batching or CPU skinning.

The [SubMeshDescriptor.bounds](/engine/6000.3/script-reference/unityengine/rendering/submeshdescriptor/bounds.md), [SubMeshDescriptor.firstVertex](/engine/6000.3/script-reference/unityengine/rendering/submeshdescriptor/firstvertex.md) and [SubMeshDescriptor.vertexCount](/engine/6000.3/script-reference/unityengine/rendering/submeshdescriptor/vertexcount.md) values are calculated automatically by [Mesh.SetSubMesh](/engine/6000.3/script-reference/unityengine/mesh/setsubmesh.md), unless [MeshUpdateFlags.DontRecalculateBounds](/engine/6000.3/script-reference/unityengine/rendering/meshupdateflags/dontrecalculatebounds.md) flag is passed.

Additional Resources: [SubMeshDescriptor.vertexCount](/engine/6000.3/script-reference/unityengine/rendering/submeshdescriptor/vertexcount.md).
