BRG Instance Group
Converts a hierarchy of prefab instances into GPU-instanced rendering via BRG Instanced Renderer. Instances are spatially batched into chunks and serialized, so startup is instant with no runtime transform scanning.
For a step-by-step setup guide, see Getting Started: GameObjects.
Inspector Properties
| Property | Type | Default | Description |
|---|---|---|---|
| Chunk Size | float | 50m | World-space size of the spatial grid cells. Instances are grouped into chunks based on their position. Affects culling granularity — smaller chunks cull more precisely, larger chunks reduce overhead. |
| Cull Distance | float | 0 | Maximum render distance in meters. Instances in this group beyond this distance are not rendered. 0 means no distance limit. |
| Show Chunk Gizmos | bool | true | Draws wireframe bounding boxes in the Scene View for each chunk, color-coded by fill percentage. |
Inspector Actions
| Button | Description |
|---|---|
| Convert Children to Instances | Scans all direct children, groups them into spatial chunks, serializes the data, and disables their Mesh Renderers and LOD Groups. |
| Revert to GameObjects | Re-enables original Mesh Renderers and LOD Groups, returning to standard Unity rendering. |
| Refresh | Rebuilds chunk data from the current state of the source objects. Use after moving, adding, or removing instances. |
You can also convert arbitrary GameObjects (not just children) via the hierarchy context menu: GameObject > BRG > Convert to BRG Instances. This creates a new BRG Instance Group and converts the selected objects into it.
Status Display
When converted, the inspector shows:
- Converted: Yes/No
- Chunk Count: Number of spatial chunks
- Prototype Count: Number of unique prefab types
- Instance Count: Total instances across all chunks
How Chunks Work
During conversion, instances are placed into a spatial grid based on their world position and the Chunk Size setting. If a grid cell exceeds the maximum instance capacity (determined by Config pool settings), it is split into multiple chunks.
Each chunk stores:
- A bounding box used for hierarchical culling
- Instance data (position, rotation, scale, prototype index)
- The cull distance for distance-based culling
Chunks are the first level of the hierarchical culling pipeline — chunks outside the camera frustum or behind occluders are skipped entirely before any per-instance work.
Notes
- Source GameObjects remain in the hierarchy after conversion. Their renderers are disabled but you can still select and move them.
- After editing source objects, always click Refresh to update the serialized chunk data.
- Each source object gets a BRG Instance Link component that tracks its relationship to the group.
- Mixed prefab types under the same parent are fully supported. Each unique prefab becomes a separate prototype.