# IndexFormat

> Format of the mesh index buffer data.

## Definition

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

```csharp
public enum IndexFormat
```

## Remarks

Index buffer can either be 16 bit (supports up to 65535 vertices in a mesh), or 32 bit (supports up to 4 billion vertices). Default index format is 16 bit, since that takes less memory and bandwidth.

Note that GPU support for 32 bit indices is not guaranteed on all platforms; for example Android devices with Mali-400 GPU do not support them. When using 32 bit indices on such a platform, a warning message will be logged and mesh will not render.

**Note:** the maximum possible vertex index (for example, 0xFFFF for a 16 bit index format) might not be usable. Some graphics APIs and GPUs skip rendering triangles with maximum vertex indices.

Additional Resources: [Mesh.indexFormat](/engine/6000.0/script-reference/unityengine/mesh/indexformat.md), [ModelImporter.indexFormat](/engine/6000.0/script-reference/unityeditor/modelimporter/indexformat.md), [Mesh.SetIndices](/engine/6000.0/script-reference/unityengine/mesh/setindices.md).

## Fields

| Value                                                                                 | Description                      |
| ------------------------------------------------------------------------------------- | -------------------------------- |
| [UInt16](/engine/6000.0/script-reference/unityengine/rendering/indexformat/uint16.md) | 16 bit mesh index buffer format. |
| [UInt32](/engine/6000.0/script-reference/unityengine/rendering/indexformat/uint32.md) | 32 bit mesh index buffer format. |
