Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


BatchDrawCommand

The Rendering.BatchDrawCommand struct defines instructions for drawing multiple objects in a single instanced draw call. It specifies parameters like meshes, materials, transforms, and shader properties for rendering.
Read time 1 minuteLast updated 4 days ago

Definition

public struct BatchDrawCommand

Remarks

The Rendering.BatchDrawCommand struct helps render large numbers of similar objects by reducing the overhead of individual draw calls.
Use it for custom rendering workflows, especially with BatchRendererGroup, where manual control over GPU draw calls is required. It's common in advanced rendering scenarios, like custom culling or procedural object batches.
Set up a BatchDrawCommand with required properties (mesh, material, transforms) and pass it to BatchRendererGroup.
Additional Resources: BatchRendererGroup.

Fields

Value

Description

activeMeshLodCurrently active Mesh LOD.
batchIDThe batch ID that this draw command uses. Determines the metadata values that are available to a shader.
flagsSpecifies rendering options for the draw command.
lightmapIndexThe index of the baked lightmap used in this draw command. If BatchDrawCommandFlags.UseLegacyLightmapsKeyword is not set, this value is ignored.
materialIDIdentifies which Material to use to render the instances in this draw command.
meshIDIdentifies which Mesh to use to render the instances in this draw command.
sortingPositionTogether with BatchDrawCommand.flags, this specifies how to depth sort the instances in this draw command.
splitVisibilityMaskIndicates which splits that the draw command is visible in.
submeshIndexSpecifies which sub-mesh of the Mesh identified by BatchDrawCommand.meshID to use to render the instances in this draw command.
visibleCountThe number of instances to draw with this draw command. This must be a value greater than
1
.
visibleOffsetThe index of the element in BatchCullingOutputDrawCommands.visibleInstances that matches the first instance in this draw command.