# Index

> GraphicsBuffer can be used as an index buffer.

## Definition

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

```csharp
Index = 2
```

### Remarks

Allows a buffer to be used as an index buffer for [Graphics.DrawProcedural](/engine/6000.0/script-reference/unityengine/graphics/drawprocedural.md) and similar low level drawing APIs.

When you construct a GraphicsBuffer of this type, the value of stride must be either 2 (16-bit indices) or 4 (32-bit indices).

DirectX 11 does not allow Index buffers to also be [GraphicsBuffer.Target.Structured](/engine/6000.0/script-reference/unityengine/graphicsbuffer/target/structured.md). For compute shader mesh data access with DirectX 11 compatibility, it is best to use [GraphicsBuffer.Target.Raw](/engine/6000.0/script-reference/unityengine/graphicsbuffer/target/raw.md).

Additional Resources: [Graphics.RenderPrimitivesIndexed](/engine/6000.0/script-reference/unityengine/graphics/renderprimitivesindexed.md), [Graphics.RenderPrimitivesIndexedIndirect](/engine/6000.0/script-reference/unityengine/graphics/renderprimitivesindexedindirect.md), [CommandBuffer.DrawProcedural](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/drawprocedural.md), [CommandBuffer.DrawProceduralIndirect](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/drawproceduralindirect.md), [Mesh.indexBufferTarget](/engine/6000.0/script-reference/unityengine/mesh/indexbuffertarget.md), [Mesh.GetIndexBuffer](/engine/6000.0/script-reference/unityengine/mesh/getindexbuffer.md).
