# ExecuteCommandBufferAsync(CommandBuffer, ComputeQueueType)

> Schedules the execution of a Command Buffer on an async compute queue. The ComputeQueueType that you pass in determines the queue order.

## Definition

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

```csharp
public void ExecuteCommandBufferAsync(CommandBuffer commandBuffer, ComputeQueueType queueType)
```

### Parameters

**** (\[CommandBuffer]\(/engine/6000.6/script-reference/unityengine/rendering/commandbuffer)): The [CommandBuffer](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer.md) to be executed.**** (\[ComputeQueueType]\(/engine/6000.6/script-reference/unityengine/rendering/computequeuetype)): Describes the desired async compute queue the supplied [CommandBuffer](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer.md) should be executed on.

### Remarks

Note that all of the commands within the Command Buffer need to be of a type suitable for execution on the async compute queues. If the buffer contains any commands that are not appropriate then Unity logs an error and displays it in the Editor console window.  The commands that a  [CommandBuffer](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer.md) can use on async compute queues are:

* [CommandBuffer.BeginSample](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/beginsample.md)

* [CommandBuffer.BuildRayTracingAccelerationStructure](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/buildraytracingaccelerationstructure.md)

* [CommandBuffer.CopyCounterValue](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/copycountervalue.md)

* [CommandBuffer.CopyTexture](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/copytexture.md)

* [CommandBuffer.CreateGraphicsFence](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/creategraphicsfence.md)

* [CommandBuffer.DisableShaderKeyword](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/disableshaderkeyword.md)

* [CommandBuffer.DispatchCompute](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/dispatchcompute.md)

* [CommandBuffer.EnableShaderKeyword](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/enableshaderkeyword.md)

* [CommandBuffer.EndSample](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/endsample.md)

* [CommandBuffer.GetTemporaryRT](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/gettemporaryrt.md)

* [CommandBuffer.GetTemporaryRTArray](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/gettemporaryrtarray.md)

* [CommandBuffer.IssuePluginEvent](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/issuepluginevent.md)

* [CommandBuffer.ReleaseTemporaryRT](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/releasetemporaryrt.md)

* SetComputeBufferData

* [CommandBuffer.SetComputeBufferParam](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/setcomputebufferparam.md)

* [CommandBuffer.SetComputeFloatParam](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/setcomputefloatparam.md)

* [CommandBuffer.SetComputeFloatParams](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/setcomputefloatparams.md)

* [CommandBuffer.SetComputeIntParam](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/setcomputeintparam.md)

* [CommandBuffer.SetComputeIntParams](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/setcomputeintparams.md)

* [CommandBuffer.SetComputeMatrixArrayParam](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/setcomputematrixarrayparam.md)

* [CommandBuffer.SetComputeMatrixParam](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/setcomputematrixparam.md)

* [CommandBuffer.SetComputeTextureParam](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/setcomputetextureparam.md)

* [CommandBuffer.SetComputeVectorParam](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/setcomputevectorparam.md)

* [CommandBuffer.SetComputeVectorArrayParam](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/setcomputevectorarrayparam.md)

* [CommandBuffer.SetGlobalBuffer](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/setglobalbuffer.md)

* [CommandBuffer.SetGlobalColor](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/setglobalcolor.md)

* [CommandBuffer.SetGlobalFloat](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/setglobalfloat.md)

* [CommandBuffer.SetGlobalFloatArray](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/setglobalfloatarray.md)

* [CommandBuffer.SetGlobalInt](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/setglobalint.md)

* [CommandBuffer.SetGlobalMatrix](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/setglobalmatrix.md)

* [CommandBuffer.SetGlobalMatrixArray](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/setglobalmatrixarray.md)

* [CommandBuffer.SetGlobalTexture](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/setglobaltexture.md)

* [CommandBuffer.SetGlobalVector](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/setglobalvector.md)

* [CommandBuffer.SetGlobalVectorArray](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer/setglobalvectorarray.md)

* WaitOnGraphicsFence

These commands are guaranteed to be executed on the same queue. If the target platform does not support async compute queues then Unity dispatches the work on the graphics queue.

Additional Resources: [SystemInfo.supportsAsyncCompute](/engine/6000.6/script-reference/unityengine/systeminfo/supportsasynccompute.md), [GPUFence](/engine/6000.6/script-reference/unityengine/rendering/gpufence.md), [CommandBuffer](/engine/6000.6/script-reference/unityengine/rendering/commandbuffer.md).
