# instanceSortingPositions

> If BatchDrawCommandFlags.HasSortingPosition is set for one or more draw commands, the instanceSortingPositions array contains explicit float3 world space positions that Unity uses for depth sorting. The culling callback must allocate the memory for the instanceSortingPositions using the UnsafeUtility.Malloc method and the Allocator.TempJob parameter. The memory is released by Unity when the rendering is complete. If the length of the array is 0, set its value to null.

## Definition

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

```csharp
public float* instanceSortingPositions
```

### Remarks

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

If no draw commands contain depth-sorted instances, set this to `null`.
