# ComputeBufferType

> ComputeBuffer type.

## Definition

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

```csharp
[Flags]
public enum ComputeBufferType
```

## Remarks

Different types of compute buffers map to different usage and declarations in HLSL shaders. Default type is "structured buffer" (`StructuredBuffer<T>` or `RWStructuredBuffer<T>`).

Additional Resources: [ComputeBuffer](/engine/6000.6/script-reference/unityengine/computebuffer.md), [ComputeShader](/engine/6000.6/script-reference/unityengine/computeshader.md), [Material.SetBuffer](/engine/6000.6/script-reference/unityengine/material/setbuffer.md).

## Fields

| Value                                                                                                   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Append](/engine/6000.6/script-reference/unityengine/computebuffertype/append.md)                       | Append-consume [ComputeBuffer](/engine/6000.6/script-reference/unityengine/computebuffer.md) type.                                                                                                                                                                                                                                                                                                                                                              |
| [Constant](/engine/6000.6/script-reference/unityengine/computebuffertype/constant.md)                   | [ComputeBuffer](/engine/6000.6/script-reference/unityengine/computebuffer.md) that you can use as a constant buffer (uniform buffer).                                                                                                                                                                                                                                                                                                                           |
| [Counter](/engine/6000.6/script-reference/unityengine/computebuffertype/counter.md)                     | [ComputeBuffer](/engine/6000.6/script-reference/unityengine/computebuffer.md) with a counter.                                                                                                                                                                                                                                                                                                                                                                   |
| [Default](/engine/6000.6/script-reference/unityengine/computebuffertype/default.md)                     | Default [ComputeBuffer](/engine/6000.6/script-reference/unityengine/computebuffer.md) type (structured buffer).                                                                                                                                                                                                                                                                                                                                                 |
| [IndirectArguments](/engine/6000.6/script-reference/unityengine/computebuffertype/indirectarguments.md) | [ComputeBuffer](/engine/6000.6/script-reference/unityengine/computebuffer.md) used for [Graphics.DrawProceduralIndirect](/engine/6000.6/script-reference/unityengine/graphics/drawproceduralindirect.md), [ComputeShader.DispatchIndirect](/engine/6000.6/script-reference/unityengine/computeshader/dispatchindirect.md) or [Graphics.DrawMeshInstancedIndirect](/engine/6000.6/script-reference/unityengine/graphics/drawmeshinstancedindirect.md) arguments. |
| [Raw](/engine/6000.6/script-reference/unityengine/computebuffertype/raw.md)                             | Raw [ComputeBuffer](/engine/6000.6/script-reference/unityengine/computebuffer.md) type (byte address buffer).                                                                                                                                                                                                                                                                                                                                                   |
| [Structured](/engine/6000.6/script-reference/unityengine/computebuffertype/structured.md)               | [ComputeBuffer](/engine/6000.6/script-reference/unityengine/computebuffer.md) that you can use as a structured buffer.                                                                                                                                                                                                                                                                                                                                          |
