# vertexBufferTarget

> The intended target usage of the Mesh GPU vertex buffer.

## Definition

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

```csharp
public GraphicsBuffer.Target vertexBufferTarget { get; set; }
```

### Remarks

By default, Mesh vertex buffers have [GraphicsBuffer.Target.Vertex](/engine/6000.0/script-reference/unityengine/graphicsbuffer/target/vertex.md) usage target. If you want to access the mesh vertex buffer from a compute shader, additional targets need to be requested, for example [GraphicsBuffer.Target.Raw](/engine/6000.0/script-reference/unityengine/graphicsbuffer/target/raw.md).

```csharp
using UnityEngine;

public class ExampleScript : MonoBehaviour
{
    public Mesh mesh;
    public ComputeShader computeShader;
    void Start()
    {
        // Mark the vertex buffer as needing "Raw"
        // (ByteAddressBuffer, RWByteAddressBuffer in HLSL shaders)
        // access.
        mesh.vertexBufferTarget |= GraphicsBuffer.Target.Raw;
        // Get the vertex buffer of the Mesh, and set it up
        // as a buffer parameter to a compute shader.
        var vertexBuffer = mesh.GetVertexBuffer(0);
        computeShader.SetBuffer(0, "MeshVertexBuffer", vertexBuffer);
        vertexBuffer.Dispose();
    }
}
```

Additional Resources: [GraphicsBuffer.Target](/engine/6000.0/script-reference/unityengine/graphicsbuffer/target.md), [Mesh.GetVertexBuffer](/engine/6000.0/script-reference/unityengine/mesh/getvertexbuffer.md), [Mesh.indexBufferTarget](/engine/6000.0/script-reference/unityengine/mesh/indexbuffertarget.md).
