# CommandBuffer

> List of graphics commands to execute.

## Definition

* **Type:** Class
* **Namespace:** [UnityEngine.Rendering](/engine/6000.7/script-reference/unityengine/rendering.md)
* **Assembly:** UnityEngine.CoreModule
* **Implements:** [IDisposable](https://learn.microsoft.com/dotnet/api/system.idisposable)

```csharp
public class CommandBuffer : IDisposable
```

## Remarks

Command buffers hold list of rendering commands ("set render target, draw mesh, ..."). They can be set to execute at various points during camera rendering (see [Camera.AddCommandBuffer](/engine/6000.7/script-reference/unityengine/camera/addcommandbuffer.md)), light rendering (see [Light.AddCommandBuffer](/engine/6000.7/script-reference/unityengine/light/addcommandbuffer.md)) or be executed immediately (see [Graphics.ExecuteCommandBuffer](/engine/6000.7/script-reference/unityengine/graphics/executecommandbuffer.md)).

Typically they would be used to extend Unity's render pipelines in a custom way. For example, you could render some additional objects into deferred rendering G-buffer after all regular objects are done, or do custom processing of light shadow maps. See [command buffers overview](/engine/6000.7/manual/render-pipelines/built-in-render-pipeline/graphics-command-buffers/buffers.md) page for more details.

Command buffers can be created and then executed many times if needed.

Additional Resources: [Camera.AddCommandBuffer](/engine/6000.7/script-reference/unityengine/camera/addcommandbuffer.md), [Light.AddCommandBuffer](/engine/6000.7/script-reference/unityengine/light/addcommandbuffer.md), [CameraEvent](/engine/6000.7/script-reference/unityengine/rendering/cameraevent.md), [LightEvent](/engine/6000.7/script-reference/unityengine/rendering/lightevent.md), [Graphics.ExecuteCommandBuffer](/engine/6000.7/script-reference/unityengine/graphics/executecommandbuffer.md), [command buffers overview](/engine/6000.7/manual/render-pipelines/built-in-render-pipeline/graphics-command-buffers/buffers.md).

## Static Fields

| Value                                                                                                                   | Description                                                                                                                                                                                                     |
| ----------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [ThrowOnSetRenderTarget](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/throwonsetrendertarget.md) | Throw an exception when SetRenderTarget is recorded on a command buffer. This is mainly usefull when using native renderpasses to avoid inadvertently recording SetRenderTarget commands on the command buffer. |

## Constructors

| Constructor                                                                                    | Description                        |
| ---------------------------------------------------------------------------------------------- | ---------------------------------- |
| [CommandBuffer()](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/ctor.md) | Create a new empty command buffer. |

## Properties

| Property                                                                                          | Description                                       |
| ------------------------------------------------------------------------------------------------- | ------------------------------------------------- |
| [name](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/name.md)               | Name of this command buffer.                      |
| [sizeInBytes](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/sizeinbytes.md) | Size of this command buffer in bytes (Read Only). |

## Methods

| Method                                                                                                                                                      | Description                                                                                                                                                                                                                                                                                                                                                                                                    |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [BeginRenderPass](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/beginrenderpass.md)                                                   | Begin a new native render pass.                                                                                                                                                                                                                                                                                                                                                                                |
| [BeginSample](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/beginsample.md)                                                           | Adds a command to begin profile sampling.                                                                                                                                                                                                                                                                                                                                                                      |
| [Blit](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/blit.md)                                                                         | Adds a command to use a shader to copy the pixel data from a texture into a render texture.                                                                                                                                                                                                                                                                                                                    |
| [BuildRayTracingAccelerationStructure](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/buildraytracingaccelerationstructure.md)         | Adds a command to build the [RayTracingAccelerationStructure](/engine/6000.7/script-reference/unityengine/rendering/raytracingaccelerationstructure.md) to be used in a ray tracing dispatch or when using inline ray tracing (ray queries).                                                                                                                                                                   |
| [Clear](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/clear.md)                                                                       | Clear all commands in the buffer.                                                                                                                                                                                                                                                                                                                                                                              |
| [ClearRandomWriteTargets](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/clearrandomwritetargets.md)                                   | Unset random write targets for [Shader Model 4.5](/engine/6000.7/manual/materials-and-shaders/shaders/writing-custom/shader-writing/writing-shader-tags/sl-shader-compile-targets.md) level pixel shaders.                                                                                                                                                                                                     |
| [ClearRenderTarget](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/clearrendertarget.md)                                               | Adds a "clear render target" command.                                                                                                                                                                                                                                                                                                                                                                          |
| [ConfigureFoveatedRendering](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/configurefoveatedrendering.md)                             | Adds a command to configure foveated rendering.                                                                                                                                                                                                                                                                                                                                                                |
| [ConvertTexture](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/converttexture.md)                                                     | Adds a command to copy the pixel data from one texture, convert the data into a different format, and copy it into another texture.                                                                                                                                                                                                                                                                            |
| [CopyBuffer](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/copybuffer.md)                                                             | Adds a command to copy the contents of one [GraphicsBuffer](/engine/6000.7/script-reference/unityengine/graphicsbuffer.md) into another.                                                                                                                                                                                                                                                                       |
| [CopyCounterValue](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/copycountervalue.md)                                                 | Adds a command to copy [ComputeBuffer](/engine/6000.7/script-reference/unityengine/computebuffer.md) or [GraphicsBuffer](/engine/6000.7/script-reference/unityengine/graphicsbuffer.md) counter value.                                                                                                                                                                                                         |
| [CopyTexture](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/copytexture.md)                                                           | Adds a command to copy pixel data from one texture to another.                                                                                                                                                                                                                                                                                                                                                 |
| [CreateAsyncGraphicsFence](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/createasyncgraphicsfence.md)                                 | Shortcut for calling [CommandBuffer.CreateGraphicsFence](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/creategraphicsfence.md) with [GraphicsFenceType.AsyncQueueSynchronisation](/engine/6000.7/script-reference/unityengine/rendering/graphicsfencetype/asyncqueuesynchronisation.md) as the first parameter.                                                                          |
| [CreateGraphicsFence](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/creategraphicsfence.md)                                           | Creates a [GraphicsFence](/engine/6000.7/script-reference/unityengine/rendering/graphicsfence.md).                                                                                                                                                                                                                                                                                                             |
| [DisableKeyword](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/disablekeyword.md)                                                     | Adds a command to disable a global or local shader keyword.                                                                                                                                                                                                                                                                                                                                                    |
| [DisableScissorRect](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/disablescissorrect.md)                                             | Add a command to disable the hardware scissor rectangle.                                                                                                                                                                                                                                                                                                                                                       |
| [DisableShaderKeyword](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/disableshaderkeyword.md)                                         | Adds a command to disable a global shader keyword with a given name.                                                                                                                                                                                                                                                                                                                                           |
| [DispatchCompute](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/dispatchcompute.md)                                                   | Add a command to execute a [ComputeShader](/engine/6000.7/script-reference/unityengine/computeshader.md).                                                                                                                                                                                                                                                                                                      |
| [DispatchRays](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/dispatchrays.md)                                                         | Adds a command to execute a RayTracingShader.                                                                                                                                                                                                                                                                                                                                                                  |
| [DrawMesh](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/drawmesh.md)                                                                 | Add a "draw mesh" command.                                                                                                                                                                                                                                                                                                                                                                                     |
| [DrawMeshInstanced](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/drawmeshinstanced.md)                                               | Adds a "draw mesh with instancing" command.                                                                                                                                                                                                                                                                                                                                                                    |
| [DrawMeshInstancedIndirect](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/drawmeshinstancedindirect.md)                               | Add a "draw mesh with indirect instancing" command.                                                                                                                                                                                                                                                                                                                                                            |
| [DrawMeshInstancedProcedural](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/drawmeshinstancedprocedural.md)                           | Add a "draw mesh with instancing" command.                                                                                                                                                                                                                                                                                                                                                                     |
| [DrawOcclusionMesh](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/drawocclusionmesh.md)                                               | Adds a command onto the commandbuffer to draw the VR Device's occlusion mesh to the current render target.                                                                                                                                                                                                                                                                                                     |
| [DrawProcedural](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/drawprocedural.md)                                                     | Add a "draw procedural geometry" command.                                                                                                                                                                                                                                                                                                                                                                      |
| [DrawProceduralIndirect](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/drawproceduralindirect.md)                                     | Add a "draw procedural geometry" command.                                                                                                                                                                                                                                                                                                                                                                      |
| [DrawRenderer](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/drawrenderer.md)                                                         | Add a "draw renderer" command.                                                                                                                                                                                                                                                                                                                                                                                 |
| [DrawRendererList](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/drawrendererlist.md)                                                 | Adds a "draw renderer list" command.                                                                                                                                                                                                                                                                                                                                                                           |
| [EnableKeyword](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/enablekeyword.md)                                                       | Adds a command to enable a global or local shader keyword.                                                                                                                                                                                                                                                                                                                                                     |
| [EnableScissorRect](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/enablescissorrect.md)                                               | Add a command to enable the hardware scissor rectangle.                                                                                                                                                                                                                                                                                                                                                        |
| [EnableShaderKeyword](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/enableshaderkeyword.md)                                           | Adds a command to enable a global keyword with a given name.                                                                                                                                                                                                                                                                                                                                                   |
| [EndRenderPass](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/endrenderpass.md)                                                       | Terminate the active native renderpass.                                                                                                                                                                                                                                                                                                                                                                        |
| [EndSample](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/endsample.md)                                                               | Adds a command to end profile sampling.                                                                                                                                                                                                                                                                                                                                                                        |
| [GenerateMips](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/generatemips.md)                                                         | Generate mipmap levels of a render texture.                                                                                                                                                                                                                                                                                                                                                                    |
| [GetTemporaryRT](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/gettemporaryrt.md)                                                     | Add a "get a temporary render texture" command.                                                                                                                                                                                                                                                                                                                                                                |
| [GetTemporaryRTArray](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/gettemporaryrtarray.md)                                           | Add a "get a temporary render texture array" command.                                                                                                                                                                                                                                                                                                                                                          |
| [IncrementUpdateCount](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/incrementupdatecount.md)                                         | Increments the updateCount property of a Texture.                                                                                                                                                                                                                                                                                                                                                              |
| [InvokeOnRenderObjectCallbacks](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/invokeonrenderobjectcallbacks.md)                       | Schedules an invocation of the OnRenderObject callback for MonoBehaviour scripts.                                                                                                                                                                                                                                                                                                                              |
| [IssuePluginCustomBlit](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/issueplugincustomblit.md)                                       | Send a user-defined blit event to a native code plugin.                                                                                                                                                                                                                                                                                                                                                        |
| [IssuePluginCustomTextureUpdateV2](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/issueplugincustomtextureupdatev2.md)                 | Send a texture update event to a native code plugin.                                                                                                                                                                                                                                                                                                                                                           |
| [IssuePluginEvent](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/issuepluginevent.md)                                                 | Send a user-defined event to a native code plugin.                                                                                                                                                                                                                                                                                                                                                             |
| [IssuePluginEventAndData](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/issueplugineventanddata.md)                                   | Send a user-defined event to a native code plugin with custom data.                                                                                                                                                                                                                                                                                                                                            |
| [IssuePluginEventAndDataWithFlags](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/issueplugineventanddatawithflags.md)                 | Send a user-defined event to a native code plugin with custom data and callback flags.                                                                                                                                                                                                                                                                                                                         |
| [MarkLateLatchMatrixShaderPropertyID](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/marklatelatchmatrixshaderpropertyid.md)           | Mark a global shader property id to be late latched.  Possible shader properties include view, inverseView, viewProjection, and inverseViewProjection matrices. The Universal Render Pipeline (URP) uses this function to support late latching of shader properties. If you call this function when using built-in Unity rendering or the High-Definition Rendering Pipeline (HDRP), the results are ignored. |
| [NextSubPass](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/nextsubpass.md)                                                           | Start the next native subpass as discribed by [CommandBuffer.BeginRenderPass](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/beginrenderpass.md).                                                                                                                                                                                                                                         |
| [ReleaseTemporaryRT](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/releasetemporaryrt.md)                                             | Add a "release a temporary render texture" command.                                                                                                                                                                                                                                                                                                                                                            |
| [RequestAsyncReadback](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/requestasyncreadback.md)                                         | Adds an asynchonous GPU readback request command to the command buffer.                                                                                                                                                                                                                                                                                                                                        |
| [RequestAsyncReadbackIntoNativeArray](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/requestasyncreadbackintonativearray.md)           | Adds an asynchonous GPU readback request command to the command buffer.                                                                                                                                                                                                                                                                                                                                        |
| [RequestAsyncReadbackIntoNativeSlice](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/requestasyncreadbackintonativeslice.md)           | Adds an asynchonous GPU readback request command to the command buffer.                                                                                                                                                                                                                                                                                                                                        |
| [ResetShadingRate](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/resetshadingrate.md)                                                 | Add a "reset all shading rate states and images to their defaults" command.                                                                                                                                                                                                                                                                                                                                    |
| [ResolveAntiAliasedSurface](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/resolveantialiasedsurface.md)                               | Force an antialiased render texture to be resolved.                                                                                                                                                                                                                                                                                                                                                            |
| [SetBufferCounterValue](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setbuffercountervalue.md)                                       | Adds a command to set the counter value of append/consume buffer.                                                                                                                                                                                                                                                                                                                                              |
| [SetBufferData](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setbufferdata.md)                                                       | Adds a command to set the buffer with values from an array.                                                                                                                                                                                                                                                                                                                                                    |
| [SetComputeBufferParam](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setcomputebufferparam.md)                                       | Adds a command to set an input or output buffer parameter on a [ComputeShader](/engine/6000.7/script-reference/unityengine/computeshader.md).                                                                                                                                                                                                                                                                  |
| [SetComputeConstantBufferParam](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setcomputeconstantbufferparam.md)                       | Adds a command to set a constant buffer on a [ComputeShader](/engine/6000.7/script-reference/unityengine/computeshader.md).                                                                                                                                                                                                                                                                                    |
| [SetComputeFloatParam](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setcomputefloatparam.md)                                         | Adds a command to set a float parameter on a [ComputeShader](/engine/6000.7/script-reference/unityengine/computeshader.md).                                                                                                                                                                                                                                                                                    |
| [SetComputeFloatParams](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setcomputefloatparams.md)                                       | Adds a command to set multiple consecutive float parameters on a [ComputeShader](/engine/6000.7/script-reference/unityengine/computeshader.md).                                                                                                                                                                                                                                                                |
| [SetComputeIntParam](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setcomputeintparam.md)                                             | Adds a command to set an integer parameter on a [ComputeShader](/engine/6000.7/script-reference/unityengine/computeshader.md).                                                                                                                                                                                                                                                                                 |
| [SetComputeIntParams](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setcomputeintparams.md)                                           | Adds a command to set multiple consecutive integer parameters on a [ComputeShader](/engine/6000.7/script-reference/unityengine/computeshader.md).                                                                                                                                                                                                                                                              |
| [SetComputeMatrixArrayParam](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setcomputematrixarrayparam.md)                             | Adds a command to set a matrix array parameter on a [ComputeShader](/engine/6000.7/script-reference/unityengine/computeshader.md).                                                                                                                                                                                                                                                                             |
| [SetComputeMatrixParam](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setcomputematrixparam.md)                                       | Adds a command to set a matrix parameter on a [ComputeShader](/engine/6000.7/script-reference/unityengine/computeshader.md).                                                                                                                                                                                                                                                                                   |
| [SetComputeParamsFromMaterial](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setcomputeparamsfrommaterial.md)                         | Sets the parameters for a compute shader kernel from a [Material](/engine/6000.7/script-reference/unityengine/material.md).                                                                                                                                                                                                                                                                                    |
| [SetComputeTextureParam](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setcomputetextureparam.md)                                     | Adds a command to set a texture parameter on a [ComputeShader](/engine/6000.7/script-reference/unityengine/computeshader.md).                                                                                                                                                                                                                                                                                  |
| [SetComputeVectorArrayParam](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setcomputevectorarrayparam.md)                             | Adds a command to set a vector array parameter on a [ComputeShader](/engine/6000.7/script-reference/unityengine/computeshader.md).                                                                                                                                                                                                                                                                             |
| [SetComputeVectorParam](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setcomputevectorparam.md)                                       | Adds a command to set a vector parameter on a [ComputeShader](/engine/6000.7/script-reference/unityengine/computeshader.md).                                                                                                                                                                                                                                                                                   |
| [SetExecutionFlags](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setexecutionflags.md)                                               | Set flags describing the intention for how the command buffer will be executed.                                                                                                                                                                                                                                                                                                                                |
| [SetFoveatedRenderingMode](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setfoveatedrenderingmode.md)                                 | Adds a command to set the mode to use for foveated rendering.                                                                                                                                                                                                                                                                                                                                                  |
| [SetGlobalBuffer](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setglobalbuffer.md)                                                   | Add a "set global shader buffer property" command.                                                                                                                                                                                                                                                                                                                                                             |
| [SetGlobalColor](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setglobalcolor.md)                                                     | Add a "set global shader color property" command.                                                                                                                                                                                                                                                                                                                                                              |
| [SetGlobalConstantBuffer](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setglobalconstantbuffer.md)                                   | Add a command to bind a global constant buffer.                                                                                                                                                                                                                                                                                                                                                                |
| [SetGlobalDepthBias](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setglobaldepthbias.md)                                             | Adds a command to set the global depth bias.                                                                                                                                                                                                                                                                                                                                                                   |
| [SetGlobalFloat](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setglobalfloat.md)                                                     | Add a "set global shader float property" command.                                                                                                                                                                                                                                                                                                                                                              |
| [SetGlobalFloatArray](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setglobalfloatarray.md)                                           | Add a "set global shader float array property" command.                                                                                                                                                                                                                                                                                                                                                        |
| [SetGlobalInt](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setglobalint.md)                                                         | Adds a command to set the value of a given property for all Shaders, where the property has a type of `Int` in ShaderLab code.                                                                                                                                                                                                                                                                                 |
| [SetGlobalInteger](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setglobalinteger.md)                                                 | Adds a command to set the value of a given property for all Shaders, where the property is an integer.                                                                                                                                                                                                                                                                                                         |
| [SetGlobalMatrix](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setglobalmatrix.md)                                                   | Add a "set global shader matrix property" command.                                                                                                                                                                                                                                                                                                                                                             |
| [SetGlobalMatrixArray](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setglobalmatrixarray.md)                                         | Add a "set global shader matrix array property" command.                                                                                                                                                                                                                                                                                                                                                       |
| [SetGlobalRayTracingAccelerationStructure](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setglobalraytracingaccelerationstructure.md) | Adds a command to bind the [RayTracingAccelerationStructure](/engine/6000.7/script-reference/unityengine/rendering/raytracingaccelerationstructure.md) object to all shader stages.                                                                                                                                                                                                                            |
| [SetGlobalTexture](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setglobaltexture.md)                                                 | Add a "set global shader texture property" command, referencing a RenderTexture.                                                                                                                                                                                                                                                                                                                               |
| [SetGlobalVector](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setglobalvector.md)                                                   | Add a "set global shader vector property" command.                                                                                                                                                                                                                                                                                                                                                             |
| [SetGlobalVectorArray](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setglobalvectorarray.md)                                         | Add a "set global shader vector array property" command.                                                                                                                                                                                                                                                                                                                                                       |
| [SetInstanceMultiplier](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setinstancemultiplier.md)                                       | Adds a command to multiply the instance count of every draw call by a specific multiplier.                                                                                                                                                                                                                                                                                                                     |
| [SetInvertCulling](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setinvertculling.md)                                                 | Add a "set invert culling" command to the buffer.                                                                                                                                                                                                                                                                                                                                                              |
| [SetKeyword](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setkeyword.md)                                                             | Adds a command to set the state of a global or local shader keyword.                                                                                                                                                                                                                                                                                                                                           |
| [SetLateLatchProjectionMatrices](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setlatelatchprojectionmatrices.md)                     | Set the current stereo projection matrices for late latching. Stereo matrices is passed in as an array of two matrices.                                                                                                                                                                                                                                                                                        |
| [SetProjectionMatrix](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setprojectionmatrix.md)                                           | Add a command to set the projection matrix.                                                                                                                                                                                                                                                                                                                                                                    |
| [SetRandomWriteTarget](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setrandomwritetarget.md)                                         | Set random write target for [Shader Model 4.5](/engine/6000.7/manual/materials-and-shaders/shaders/writing-custom/shader-writing/writing-shader-tags/sl-shader-compile-targets.md) level pixel shaders.                                                                                                                                                                                                        |
| [SetRayTracingAccelerationStructure](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setraytracingaccelerationstructure.md)             | Adds a command to set the [RayTracingAccelerationStructure](/engine/6000.7/script-reference/unityengine/rendering/raytracingaccelerationstructure.md) to be used in a [RayTracingShader](/engine/6000.7/script-reference/unityengine/rendering/raytracingshader.md) or a [ComputeShader](/engine/6000.7/script-reference/unityengine/computeshader.md).                                                        |
| [SetRayTracingBufferParam](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setraytracingbufferparam.md)                                 | Adds a command to set an input or output buffer parameter on a RayTracingShader.                                                                                                                                                                                                                                                                                                                               |
| [SetRayTracingConstantBufferParam](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setraytracingconstantbufferparam.md)                 | Adds a command to set a constant buffer on a [RayTracingShader](/engine/6000.7/script-reference/unityengine/rendering/raytracingshader.md).                                                                                                                                                                                                                                                                    |
| [SetRayTracingFloatParam](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setraytracingfloatparam.md)                                   | Adds a command to set a float parameter on a [RayTracingShader](/engine/6000.7/script-reference/unityengine/rendering/raytracingshader.md).                                                                                                                                                                                                                                                                    |
| [SetRayTracingFloatParams](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setraytracingfloatparams.md)                                 | Adds a command to set multiple consecutive float parameters on a [RayTracingShader](/engine/6000.7/script-reference/unityengine/rendering/raytracingshader.md).                                                                                                                                                                                                                                                |
| [SetRayTracingIntParam](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setraytracingintparam.md)                                       | Adds a command to set an integer parameter on a [RayTracingShader](/engine/6000.7/script-reference/unityengine/rendering/raytracingshader.md).                                                                                                                                                                                                                                                                 |
| [SetRayTracingIntParams](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setraytracingintparams.md)                                     | Adds a command to set multiple consecutive integer parameters on a [RayTracingShader](/engine/6000.7/script-reference/unityengine/rendering/raytracingshader.md).                                                                                                                                                                                                                                              |
| [SetRayTracingMatrixArrayParam](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setraytracingmatrixarrayparam.md)                       | Adds a command to set a matrix array parameter on a [RayTracingShader](/engine/6000.7/script-reference/unityengine/rendering/raytracingshader.md).                                                                                                                                                                                                                                                             |
| [SetRayTracingMatrixParam](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setraytracingmatrixparam.md)                                 | Adds a command to set a matrix parameter on a [RayTracingShader](/engine/6000.7/script-reference/unityengine/rendering/raytracingshader.md).                                                                                                                                                                                                                                                                   |
| [SetRayTracingShaderPass](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setraytracingshaderpass.md)                                   | Adds a command to select which Shader Pass to use when executing ray/geometry intersection shaders.                                                                                                                                                                                                                                                                                                            |
| [SetRayTracingTextureParam](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setraytracingtextureparam.md)                               | Adds a command to set a texture parameter on a [RayTracingShader](/engine/6000.7/script-reference/unityengine/rendering/raytracingshader.md).                                                                                                                                                                                                                                                                  |
| [SetRayTracingVectorArrayParam](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setraytracingvectorarrayparam.md)                       | Adds a command to set a vector array parameter on a [RayTracingShader](/engine/6000.7/script-reference/unityengine/rendering/raytracingshader.md).                                                                                                                                                                                                                                                             |
| [SetRayTracingVectorParam](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setraytracingvectorparam.md)                                 | Adds a command to set a vector parameter on a [RayTracingShader](/engine/6000.7/script-reference/unityengine/rendering/raytracingshader.md).                                                                                                                                                                                                                                                                   |
| [SetRenderTarget](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setrendertarget.md)                                                   | Add a "set active render target" command.                                                                                                                                                                                                                                                                                                                                                                      |
| [SetShadingRateCombiner](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setshadingratecombiner.md)                                     | Sets the shading rate combiner for a specific stage.                                                                                                                                                                                                                                                                                                                                                           |
| [SetShadingRateFragmentSize](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setshadingratefragmentsize.md)                             | Add a "set base shading rate" command.                                                                                                                                                                                                                                                                                                                                                                         |
| [SetShadingRateImage](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setshadingrateimage.md)                                           | Add a "set shading rate image" command.                                                                                                                                                                                                                                                                                                                                                                        |
| [SetShadowSamplingMode](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setshadowsamplingmode.md)                                       | Add a "set shadow sampling mode" command.                                                                                                                                                                                                                                                                                                                                                                      |
| [SetSinglePassStereo](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setsinglepassstereo.md)                                           | Add a command to set single-pass stereo mode for the camera.                                                                                                                                                                                                                                                                                                                                                   |
| [SetupCameraProperties](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setupcameraproperties.md)                                       | Schedules the setup of Camera specific global Shader variables.                                                                                                                                                                                                                                                                                                                                                |
| [SetViewMatrix](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setviewmatrix.md)                                                       | Add a command to set the view matrix.                                                                                                                                                                                                                                                                                                                                                                          |
| [SetViewport](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setviewport.md)                                                           | Add a command to set the rendering viewport.                                                                                                                                                                                                                                                                                                                                                                   |
| [SetViewProjectionMatrices](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setviewprojectionmatrices.md)                               | Add a command to set the view and projection matrices.                                                                                                                                                                                                                                                                                                                                                         |
| [SetWireframe](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/setwireframe.md)                                                         | Add a "set wireframe" command to the buffer.                                                                                                                                                                                                                                                                                                                                                                   |
| [UnmarkLateLatchMatrix](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/unmarklatelatchmatrix.md)                                       | Unmark a global shader property for late latching. After unmarking, the shader property will no longer be late latched.  This function is intended for the Universal Render Pipeline (URP) to specify late latched shader properties.                                                                                                                                                                          |
| [WaitAllAsyncReadbackRequests](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/waitallasyncreadbackrequests.md)                         | Adds an "AsyncGPUReadback.WaitAllRequests" command to the CommandBuffer.                                                                                                                                                                                                                                                                                                                                       |
| [WaitOnAsyncGraphicsFence](/engine/6000.7/script-reference/unityengine/rendering/commandbuffer/waitonasyncgraphicsfence.md)                                 | Instructs the GPU to pause processing of the queue until it passes through the [GraphicsFence](/engine/6000.7/script-reference/unityengine/rendering/graphicsfence.md) fence.                                                                                                                                                                                                                                  |
