# SetRayTracingBufferParam

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

## Definition

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

## SetRayTracingBufferParam(RayTracingShader, string, ComputeBuffer)

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

```csharp
public void SetRayTracingBufferParam(RayTracingShader rayTracingShader, string name, ComputeBuffer buffer)
```

### Parameters

**** (\[RayTracingShader]\(/engine/6000.0/script-reference/unityengine/rendering/raytracingshader)): The [RayTracingShader](/engine/6000.0/script-reference/unityengine/rendering/raytracingshader.md) to set parameter for.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The name of the buffer in shader code.**** (\[ComputeBuffer]\(/engine/6000.0/script-reference/unityengine/computebuffer)): The buffer to set.

### Remarks

Only shaders defined in the .raytrace file can access the buffer you designate as the argument for this method. To make this buffer accessible to all ray tracing shader types (closest hit, any hit, or miss, for example), call the [CommandBuffer.SetGlobalBuffer](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setglobalbuffer.md) or [Shader.SetGlobalBuffer](/engine/6000.0/script-reference/unityengine/shader/setglobalbuffer.md) method instead.

Additional Resources: [CommandBuffer.DispatchRays](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/dispatchrays.md).

## SetRayTracingBufferParam(RayTracingShader, int, ComputeBuffer)

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

```csharp
public void SetRayTracingBufferParam(RayTracingShader rayTracingShader, int nameID, ComputeBuffer buffer)
```

### Parameters

**** (\[RayTracingShader]\(/engine/6000.0/script-reference/unityengine/rendering/raytracingshader)): The [RayTracingShader](/engine/6000.0/script-reference/unityengine/rendering/raytracingshader.md) to set parameter for.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The ID of the property name for the buffer in shader code. Use [Shader.PropertyToID](/engine/6000.0/script-reference/unityengine/shader/propertytoid.md) to get this ID.**** (\[ComputeBuffer]\(/engine/6000.0/script-reference/unityengine/computebuffer)): The buffer to set.

### Remarks

Only shaders defined in the .raytrace file can access the buffer you designate as the argument for this method. To make this buffer accessible to all ray tracing shader types (closest hit, any hit, or miss, for example), call the [CommandBuffer.SetGlobalBuffer](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setglobalbuffer.md) or [Shader.SetGlobalBuffer](/engine/6000.0/script-reference/unityengine/shader/setglobalbuffer.md) method instead.

Additional Resources: [CommandBuffer.DispatchRays](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/dispatchrays.md).

## SetRayTracingBufferParam(RayTracingShader, string, GraphicsBuffer)

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

```csharp
public void SetRayTracingBufferParam(RayTracingShader rayTracingShader, string name, GraphicsBuffer buffer)
```

### Parameters

**** (\[RayTracingShader]\(/engine/6000.0/script-reference/unityengine/rendering/raytracingshader)): The [RayTracingShader](/engine/6000.0/script-reference/unityengine/rendering/raytracingshader.md) to set parameter for.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The name of the buffer in shader code.**** (\[GraphicsBuffer]\(/engine/6000.0/script-reference/unityengine/graphicsbuffer)): The buffer to set.

### Remarks

Only shaders defined in the .raytrace file can access the buffer you designate as the argument for this method. To make this buffer accessible to all ray tracing shader types (closest hit, any hit, or miss, for example), call the [CommandBuffer.SetGlobalBuffer](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setglobalbuffer.md) or [Shader.SetGlobalBuffer](/engine/6000.0/script-reference/unityengine/shader/setglobalbuffer.md) method instead.

Additional Resources: [CommandBuffer.DispatchRays](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/dispatchrays.md).

## SetRayTracingBufferParam(RayTracingShader, int, GraphicsBuffer)

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

```csharp
public void SetRayTracingBufferParam(RayTracingShader rayTracingShader, int nameID, GraphicsBuffer buffer)
```

### Parameters

**** (\[RayTracingShader]\(/engine/6000.0/script-reference/unityengine/rendering/raytracingshader)): The [RayTracingShader](/engine/6000.0/script-reference/unityengine/rendering/raytracingshader.md) to set parameter for.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The ID of the property name for the buffer in shader code. Use [Shader.PropertyToID](/engine/6000.0/script-reference/unityengine/shader/propertytoid.md) to get this ID.**** (\[GraphicsBuffer]\(/engine/6000.0/script-reference/unityengine/graphicsbuffer)): The buffer to set.

### Remarks

Only shaders defined in the .raytrace file can access the buffer you designate as the argument for this method. To make this buffer accessible to all ray tracing shader types (closest hit, any hit, or miss, for example), call the [CommandBuffer.SetGlobalBuffer](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setglobalbuffer.md) or [Shader.SetGlobalBuffer](/engine/6000.0/script-reference/unityengine/shader/setglobalbuffer.md) method instead.

Additional Resources: [CommandBuffer.DispatchRays](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/dispatchrays.md).

## SetRayTracingBufferParam(RayTracingShader, string, GraphicsBufferHandle)

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

```csharp
public void SetRayTracingBufferParam(RayTracingShader rayTracingShader, string name, GraphicsBufferHandle bufferHandle)
```

### Parameters

**** (\[RayTracingShader]\(/engine/6000.0/script-reference/unityengine/rendering/raytracingshader)): The [RayTracingShader](/engine/6000.0/script-reference/unityengine/rendering/raytracingshader.md) to set parameter for.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The name of the buffer in shader code.**** (\[GraphicsBufferHandle]\(/engine/6000.0/script-reference/unityengine/graphicsbufferhandle)): The handle of the buffer to set.

### Remarks

Only shaders defined in the .raytrace file can access the buffer you designate as the argument for this method. To make this buffer accessible to all ray tracing shader types (closest hit, any hit, or miss, for example), call the [CommandBuffer.SetGlobalBuffer](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setglobalbuffer.md) or [Shader.SetGlobalBuffer](/engine/6000.0/script-reference/unityengine/shader/setglobalbuffer.md) method instead.

Additional Resources: [CommandBuffer.DispatchRays](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/dispatchrays.md).

## SetRayTracingBufferParam(RayTracingShader, int, GraphicsBufferHandle)

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

```csharp
public void SetRayTracingBufferParam(RayTracingShader rayTracingShader, int nameID, GraphicsBufferHandle bufferHandle)
```

### Parameters

**** (\[RayTracingShader]\(/engine/6000.0/script-reference/unityengine/rendering/raytracingshader)): The [RayTracingShader](/engine/6000.0/script-reference/unityengine/rendering/raytracingshader.md) to set parameter for.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The ID of the property name for the buffer in shader code. 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

Only shaders defined in the .raytrace file can access the buffer you designate as the argument for this method. To make this buffer accessible to all ray tracing shader types (closest hit, any hit, or miss, for example), call the [CommandBuffer.SetGlobalBuffer](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setglobalbuffer.md) or [Shader.SetGlobalBuffer](/engine/6000.0/script-reference/unityengine/shader/setglobalbuffer.md) method instead.

Additional Resources: [CommandBuffer.DispatchRays](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/dispatchrays.md).
