Legacy Documentation: Version 2017.2 (Go to current version)
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.


Suggest a change


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.


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.



Switch to Manual
public method GetIndices(indices: List<int>, submesh: int): void;
public void GetIndices(List<int> indices, int submesh);
public method GetIndices(submesh: int): int[];
public int[] GetIndices(int submesh);


indices A list of indices to populate.
submesh The sub mesh on this instance. See subMeshCount.


Gets the index buffer for the specified sub mesh on this instance.

Each element value in the returned index buffer refers to a vertex index, which can be used to index into the results of other accessors like vertices and GetVertices. The layout of the indices depends on the topology of the sub mesh. For example, a triangular mesh will return indices in multiples of three.

A sub mesh is simply a separate index buffer. When the mesh is rendered using multiple materials, you should ensure that there is one sub mesh per Material.

Call the method overload with a List<int> parameter if you control the life cycle of the index buffer and wish to avoid allocation of a new array with every access.

See Also: subMeshCount, GetTopology, MeshTopology enum.

Did you find this page useful? Please give it a rating: