# SetComputeBufferParam

> Adds a command to set an input or output buffer parameter on a ComputeShader.

## Definition

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

## SetComputeBufferParam(ComputeShader, int, int, ComputeBuffer)

Adds a command to set an input or output buffer parameter on a [ComputeShader](/engine/6000.0/script-reference/unityengine/computeshader.md).

```csharp
public void SetComputeBufferParam(ComputeShader computeShader, int kernelIndex, int nameID, ComputeBuffer buffer)
```

### Parameters

**** (\[ComputeShader]\(/engine/6000.0/script-reference/unityengine/computeshader)): [ComputeShader](/engine/6000.0/script-reference/unityengine/computeshader.md) to set parameter for.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Which kernel the buffer is being set for. See [ComputeShader.FindKernel](/engine/6000.0/script-reference/unityengine/computeshader/findkernel.md).**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Property name ID. Use [Shader.PropertyToID](/engine/6000.0/script-reference/unityengine/shader/propertytoid.md) to get this ID.**** (\[ComputeBuffer]\(/engine/6000.0/script-reference/unityengine/computebuffer)): Buffer to set.

### Remarks

Buffers and textures are set per-kernel. Use [ComputeShader.FindKernel](/engine/6000.0/script-reference/unityengine/computeshader/findkernel.md) to find kernel index by function name.

Setting a compute buffer to a kernel will leave the append/consume counter value unchanged. To set or reset the value, use [ComputeBuffer.SetCounterValue](/engine/6000.0/script-reference/unityengine/computebuffer/setcountervalue.md) or [GraphicsBuffer.SetCounterValue](/engine/6000.0/script-reference/unityengine/graphicsbuffer/setcountervalue.md).

Additional Resources: [CommandBuffer.DispatchCompute](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/dispatchcompute.md), [CommandBuffer.SetComputeFloatParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputefloatparam.md), [CommandBuffer.SetComputeFloatParams](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputefloatparams.md), [CommandBuffer.SetComputeIntParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputeintparam.md), [CommandBuffer.SetComputeIntParams](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputeintparams.md), [CommandBuffer.SetComputeMatrixParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputematrixparam.md), [CommandBuffer.SetComputeMatrixArrayParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputematrixarrayparam.md), [CommandBuffer.SetComputeVectorParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputevectorparam.md), [CommandBuffer.SetComputeVectorArrayParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputevectorarrayparam.md), [CommandBuffer.SetComputeTextureParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputetextureparam.md).

## SetComputeBufferParam(ComputeShader, int, string, ComputeBuffer)

Adds a command to set an input or output buffer parameter on a [ComputeShader](/engine/6000.0/script-reference/unityengine/computeshader.md).

```csharp
public void SetComputeBufferParam(ComputeShader computeShader, int kernelIndex, string name, ComputeBuffer buffer)
```

### Parameters

**** (\[ComputeShader]\(/engine/6000.0/script-reference/unityengine/computeshader)): [ComputeShader](/engine/6000.0/script-reference/unityengine/computeshader.md) to set parameter for.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Which kernel the buffer is being set for. See [ComputeShader.FindKernel](/engine/6000.0/script-reference/unityengine/computeshader/findkernel.md).**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Name of the buffer variable in shader code.**** (\[ComputeBuffer]\(/engine/6000.0/script-reference/unityengine/computebuffer)): Buffer to set.

### Remarks

Buffers and textures are set per-kernel. Use [ComputeShader.FindKernel](/engine/6000.0/script-reference/unityengine/computeshader/findkernel.md) to find kernel index by function name.

Setting a compute buffer to a kernel will leave the append/consume counter value unchanged. To set or reset the value, use [ComputeBuffer.SetCounterValue](/engine/6000.0/script-reference/unityengine/computebuffer/setcountervalue.md) or [GraphicsBuffer.SetCounterValue](/engine/6000.0/script-reference/unityengine/graphicsbuffer/setcountervalue.md).

Additional Resources: [CommandBuffer.DispatchCompute](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/dispatchcompute.md), [CommandBuffer.SetComputeFloatParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputefloatparam.md), [CommandBuffer.SetComputeFloatParams](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputefloatparams.md), [CommandBuffer.SetComputeIntParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputeintparam.md), [CommandBuffer.SetComputeIntParams](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputeintparams.md), [CommandBuffer.SetComputeMatrixParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputematrixparam.md), [CommandBuffer.SetComputeMatrixArrayParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputematrixarrayparam.md), [CommandBuffer.SetComputeVectorParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputevectorparam.md), [CommandBuffer.SetComputeVectorArrayParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputevectorarrayparam.md), [CommandBuffer.SetComputeTextureParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputetextureparam.md).

## SetComputeBufferParam(ComputeShader, int, int, GraphicsBufferHandle)

Adds a command to set an input or output buffer parameter on a [ComputeShader](/engine/6000.0/script-reference/unityengine/computeshader.md).

```csharp
public void SetComputeBufferParam(ComputeShader computeShader, int kernelIndex, int nameID, GraphicsBufferHandle bufferHandle)
```

### Parameters

**** (\[ComputeShader]\(/engine/6000.0/script-reference/unityengine/computeshader)): [ComputeShader](/engine/6000.0/script-reference/unityengine/computeshader.md) to set parameter for.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Which kernel the buffer is being set for. See [ComputeShader.FindKernel](/engine/6000.0/script-reference/unityengine/computeshader/findkernel.md).**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Property name ID. Use [Shader.PropertyToID](/engine/6000.0/script-reference/unityengine/shader/propertytoid.md) to get this ID.**** (\[GraphicsBufferHandle]\(/engine/6000.0/script-reference/unityengine/graphicsbufferhandle)): The handle of the buffer to set.

### Remarks

Buffers and textures are set per-kernel. Use [ComputeShader.FindKernel](/engine/6000.0/script-reference/unityengine/computeshader/findkernel.md) to find kernel index by function name.

Setting a compute buffer to a kernel will leave the append/consume counter value unchanged. To set or reset the value, use [ComputeBuffer.SetCounterValue](/engine/6000.0/script-reference/unityengine/computebuffer/setcountervalue.md) or [GraphicsBuffer.SetCounterValue](/engine/6000.0/script-reference/unityengine/graphicsbuffer/setcountervalue.md).

Additional Resources: [CommandBuffer.DispatchCompute](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/dispatchcompute.md), [CommandBuffer.SetComputeFloatParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputefloatparam.md), [CommandBuffer.SetComputeFloatParams](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputefloatparams.md), [CommandBuffer.SetComputeIntParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputeintparam.md), [CommandBuffer.SetComputeIntParams](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputeintparams.md), [CommandBuffer.SetComputeMatrixParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputematrixparam.md), [CommandBuffer.SetComputeMatrixArrayParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputematrixarrayparam.md), [CommandBuffer.SetComputeVectorParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputevectorparam.md), [CommandBuffer.SetComputeVectorArrayParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputevectorarrayparam.md), [CommandBuffer.SetComputeTextureParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputetextureparam.md).

## SetComputeBufferParam(ComputeShader, int, string, GraphicsBufferHandle)

Adds a command to set an input or output buffer parameter on a [ComputeShader](/engine/6000.0/script-reference/unityengine/computeshader.md).

```csharp
public void SetComputeBufferParam(ComputeShader computeShader, int kernelIndex, string name, GraphicsBufferHandle bufferHandle)
```

### Parameters

**** (\[ComputeShader]\(/engine/6000.0/script-reference/unityengine/computeshader)): [ComputeShader](/engine/6000.0/script-reference/unityengine/computeshader.md) to set parameter for.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Which kernel the buffer is being set for. See [ComputeShader.FindKernel](/engine/6000.0/script-reference/unityengine/computeshader/findkernel.md).**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Name of the buffer variable in shader code.**** (\[GraphicsBufferHandle]\(/engine/6000.0/script-reference/unityengine/graphicsbufferhandle)): The handle of the buffer to set.

### Remarks

Buffers and textures are set per-kernel. Use [ComputeShader.FindKernel](/engine/6000.0/script-reference/unityengine/computeshader/findkernel.md) to find kernel index by function name.

Setting a compute buffer to a kernel will leave the append/consume counter value unchanged. To set or reset the value, use [ComputeBuffer.SetCounterValue](/engine/6000.0/script-reference/unityengine/computebuffer/setcountervalue.md) or [GraphicsBuffer.SetCounterValue](/engine/6000.0/script-reference/unityengine/graphicsbuffer/setcountervalue.md).

Additional Resources: [CommandBuffer.DispatchCompute](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/dispatchcompute.md), [CommandBuffer.SetComputeFloatParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputefloatparam.md), [CommandBuffer.SetComputeFloatParams](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputefloatparams.md), [CommandBuffer.SetComputeIntParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputeintparam.md), [CommandBuffer.SetComputeIntParams](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputeintparams.md), [CommandBuffer.SetComputeMatrixParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputematrixparam.md), [CommandBuffer.SetComputeMatrixArrayParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputematrixarrayparam.md), [CommandBuffer.SetComputeVectorParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputevectorparam.md), [CommandBuffer.SetComputeVectorArrayParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputevectorarrayparam.md), [CommandBuffer.SetComputeTextureParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputetextureparam.md).

## SetComputeBufferParam(ComputeShader, int, int, GraphicsBuffer)

Adds a command to set an input or output buffer parameter on a [ComputeShader](/engine/6000.0/script-reference/unityengine/computeshader.md).

```csharp
public void SetComputeBufferParam(ComputeShader computeShader, int kernelIndex, int nameID, GraphicsBuffer buffer)
```

### Parameters

**** (\[ComputeShader]\(/engine/6000.0/script-reference/unityengine/computeshader)): [ComputeShader](/engine/6000.0/script-reference/unityengine/computeshader.md) to set parameter for.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Which kernel the buffer is being set for. See [ComputeShader.FindKernel](/engine/6000.0/script-reference/unityengine/computeshader/findkernel.md).**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Property name ID. Use [Shader.PropertyToID](/engine/6000.0/script-reference/unityengine/shader/propertytoid.md) to get this ID.**** (\[GraphicsBuffer]\(/engine/6000.0/script-reference/unityengine/graphicsbuffer)): Buffer to set.

### Remarks

Buffers and textures are set per-kernel. Use [ComputeShader.FindKernel](/engine/6000.0/script-reference/unityengine/computeshader/findkernel.md) to find kernel index by function name.

Setting a compute buffer to a kernel will leave the append/consume counter value unchanged. To set or reset the value, use [ComputeBuffer.SetCounterValue](/engine/6000.0/script-reference/unityengine/computebuffer/setcountervalue.md) or [GraphicsBuffer.SetCounterValue](/engine/6000.0/script-reference/unityengine/graphicsbuffer/setcountervalue.md).

Additional Resources: [CommandBuffer.DispatchCompute](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/dispatchcompute.md), [CommandBuffer.SetComputeFloatParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputefloatparam.md), [CommandBuffer.SetComputeFloatParams](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputefloatparams.md), [CommandBuffer.SetComputeIntParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputeintparam.md), [CommandBuffer.SetComputeIntParams](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputeintparams.md), [CommandBuffer.SetComputeMatrixParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputematrixparam.md), [CommandBuffer.SetComputeMatrixArrayParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputematrixarrayparam.md), [CommandBuffer.SetComputeVectorParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputevectorparam.md), [CommandBuffer.SetComputeVectorArrayParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputevectorarrayparam.md), [CommandBuffer.SetComputeTextureParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputetextureparam.md).

## SetComputeBufferParam(ComputeShader, int, string, GraphicsBuffer)

Adds a command to set an input or output buffer parameter on a [ComputeShader](/engine/6000.0/script-reference/unityengine/computeshader.md).

```csharp
public void SetComputeBufferParam(ComputeShader computeShader, int kernelIndex, string name, GraphicsBuffer buffer)
```

### Parameters

**** (\[ComputeShader]\(/engine/6000.0/script-reference/unityengine/computeshader)): [ComputeShader](/engine/6000.0/script-reference/unityengine/computeshader.md) to set parameter for.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Which kernel the buffer is being set for. See [ComputeShader.FindKernel](/engine/6000.0/script-reference/unityengine/computeshader/findkernel.md).**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Name of the buffer variable in shader code.**** (\[GraphicsBuffer]\(/engine/6000.0/script-reference/unityengine/graphicsbuffer)): Buffer to set.

### Remarks

Buffers and textures are set per-kernel. Use [ComputeShader.FindKernel](/engine/6000.0/script-reference/unityengine/computeshader/findkernel.md) to find kernel index by function name.

Setting a compute buffer to a kernel will leave the append/consume counter value unchanged. To set or reset the value, use [ComputeBuffer.SetCounterValue](/engine/6000.0/script-reference/unityengine/computebuffer/setcountervalue.md) or [GraphicsBuffer.SetCounterValue](/engine/6000.0/script-reference/unityengine/graphicsbuffer/setcountervalue.md).

Additional Resources: [CommandBuffer.DispatchCompute](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/dispatchcompute.md), [CommandBuffer.SetComputeFloatParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputefloatparam.md), [CommandBuffer.SetComputeFloatParams](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputefloatparams.md), [CommandBuffer.SetComputeIntParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputeintparam.md), [CommandBuffer.SetComputeIntParams](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputeintparams.md), [CommandBuffer.SetComputeMatrixParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputematrixparam.md), [CommandBuffer.SetComputeMatrixArrayParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputematrixarrayparam.md), [CommandBuffer.SetComputeVectorParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputevectorparam.md), [CommandBuffer.SetComputeVectorArrayParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputevectorarrayparam.md), [CommandBuffer.SetComputeTextureParam](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setcomputetextureparam.md).
