# drawRanges

> Contains filtering settings for draw commands, which tell Unity in which conditions it should render a given draw command.

## Definition

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

```csharp
public BatchDrawRange* drawRanges
```

### Remarks

Each draw range covers a continuous range of draw commands in the [BatchCullingOutputDrawCommands.drawCommands](/engine/6000.0/script-reference/unityengine/rendering/batchcullingoutputdrawcommands/drawcommands.md) array, and the settings in the [BatchDrawRange](/engine/6000.0/script-reference/unityengine/rendering/batchdrawrange.md) struct apply to all of them. You must populate this with at least one draw range, but you can use more if necessary.

The culling callback must allocate the memory for this command using [UnsafeUtility.Malloc](/engine/6000.0/script-reference/unity/collections/lowlevel/unsafe/unsafeutility/malloc.md) with the [Allocator.TempJob](/engine/6000.0/script-reference/unity/collections/allocator/tempjob.md) parameter. Unity releases this memory when it finishes rendering the draw commands.
