# BatchDrawCommandType

> Enumerates the different draw command types a BatchRendererGroup can draw.

## Definition

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

```csharp
public enum BatchDrawCommandType
```

## Remarks

This is used in [BatchDrawRange](/engine/6000.7/script-reference/unityengine/rendering/batchdrawrange.md) to say from what draw command stream the batch will read the commands.

## Fields

| Value                                                                                                                  | Description                                                                                               |
| ---------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| [Direct](/engine/6000.7/script-reference/unityengine/rendering/batchdrawcommandtype/direct.md)                         | A direct draw command with a mesh and material.                                                           |
| [Indirect](/engine/6000.7/script-reference/unityengine/rendering/batchdrawcommandtype/indirect.md)                     | An indirect draw command with a mesh and material.                                                        |
| [Procedural](/engine/6000.7/script-reference/unityengine/rendering/batchdrawcommandtype/procedural.md)                 | A procedural draw command. Has a material but vertex data is procedurally fetched by the shader.          |
| [ProceduralIndirect](/engine/6000.7/script-reference/unityengine/rendering/batchdrawcommandtype/proceduralindirect.md) | A procedural indirect draw command. Has a material but vertex data is procedurally fetched by the shader. |
