# Append

> GraphicsBuffer can be used as an append-consume buffer.

## Definition

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

```csharp
Append = 64
```

### Remarks

Allows a buffer to be treated like a stack in compute shaders. Maps to `AppendStructuredBuffer<T>` or `ConsumeStructuredBuffer<T>` in HLSL.

When you construct a GraphicsBuffer of this type, the value of `stride` must match the stride of the corresponding StructuredBuffer struct type in your HLSL code. It must also be a multiple of 4, and less than 2048.

See Microsoft's HLSL documentation on [AppendStructuredBuffer](https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/sm5-object-appendstructuredbuffer) and [ConsumeStructuredBuffer](https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/sm5-object-consumestructuredbuffer).

The buffer size value can be copied into another buffer using [GraphicsBuffer.CopyCount](/engine/6000.7/script-reference/unityengine/graphicsbuffer/copycount.md), or explicitly reset with [GraphicsBuffer.SetCounterValue](/engine/6000.7/script-reference/unityengine/graphicsbuffer/setcountervalue.md).

Additional Resources: [GraphicsBuffer](/engine/6000.7/script-reference/unityengine/graphicsbuffer.md), [ComputeShader](/engine/6000.7/script-reference/unityengine/computeshader.md), [Material.SetBuffer](/engine/6000.7/script-reference/unityengine/material/setbuffer.md).
