Version: 2023.1
LanguageEnglish
  • C#

Mesh.indexFormat

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Switch to Manual
public Rendering.IndexFormat indexFormat;

Description

Format of the mesh index buffer data.

Index buffer can either be 16 bit (supports up to 65536 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.

Changing indexFormat sets subMeshCount to one and clears the index buffer.

Refer to Mesh.MeshData.GetIndexData for an example.

See Also: IndexFormat, ModelImporter.indexFormat, SetIndices, SetTriangles, SetIndexBufferParams, SetIndexBufferData, MeshData.