The global configuration asset for BRG Instanced Renderer. This ScriptableObject controls culling behavior, memory allocation, shadow settings, LOD crossfade, and debug options.
By default, the config asset is located at Assets/BRG Instanced Renderer/BRGIRConfig.asset and is automatically registered in Edit > Project Settings > Player > Preloaded Assets.
To select the active config in the Project window, use the menu Tools > BRG Instanced Renderer > Select Config.
Culling
Property
Type
Default
Description
Use BRG Occlusion Culling
bool
true
Enables per-chunk occlusion testing against Unity's baked occlusion data. Chunks fully hidden behind occluders are skipped.
Pooling
These settings control memory allocation for instance storage. Adjusting these affects GPU memory usage and culling granularity.
Property
Type
Default
Description
Pool Size
int
64
Number of instance slots per memory pool. Valid values: 64, 128, or 256. Smaller values waste less memory on partially-filled pools. Larger values reduce the number of pools to manage.
Max Pools Per Chunk
int
32
Maximum number of pools each chunk can hold. Higher values allow more instances per chunk, meaning fewer chunks to cull but less granular culling.
Initial Chunk Count
int
256
Starting number of chunk slots. Grows automatically as needed.
Initial Pool Count
int
1024
Starting number of pool slots. Grows automatically as needed.
Enable Auto Compaction
bool
false
When enabled, GPU buffers are periodically shrunk when waste exceeds 50%. Can cause frame hitches during compaction, If possible, please use manual compaction instead!
Tip
If you know your scene's approximate instance count, set the initial chunk and pool counts high enough to avoid runtime growth. Alternatively, use Gathered Allocations (below) to record peak values automatically.
Light Probes
Property
Type
Default
Description
Support Legacy Light Probes
bool
false
Samples SphericalHarmonicsL2 per instance. Adds 128 bytes per instance to the GPU buffer (~65% total per-instance memory increase). Only needed if your project uses legacy light probes instead of APV.
Per-Instance Color
Property
Type
Default
Description
Enable Per-Instance Color
bool
false
Enables storing a color per-instance. This color can be read using the included BRGIR_Color ShaderGraph subgraph. Adds 4 bytes of GPU buffer memory per instance.
Shadows
Property
Type
Default
Description
Max Shadow Crossfade Cascade
int
4
Number of shadow cascades (starting from cascade 1) that use dithered crossfade. Smooths the seam between cascades. Set to 0 to disable. Can be overridden per-prototype via BRG Prototype Extra Data.
LOD Crossfade
Property
Type
Default
Description
Debug Disable Crossfade
bool
false
Disables all crossfade (stateless and animated), forcing instant LOD transitions.
Default Animated Crossfade Duration
float
0.5s
Time in seconds for animated LOD crossfade transitions. Applies to all prototypes unless overridden per-prefab. Can be overridden per-prototype via BRG Prototype Extra Data.
Skip Intermediate LODs
bool
true
When an instance needs to transition multiple LOD levels (e.g., LOD0 to LOD3), skip intermediate levels and jump directly to the target. Reduces the number of fade transitions.
Debug
Property
Type
Default
Description
Enable Debug Logging
bool
false
Outputs verbose logging to the console for all major operations.
Debug Bypass Chunk Culling
bool
false
Processes all instances regardless of chunk-level culling results. Useful for verifying that chunk culling is working correctly.
Debug Disable Culling
bool
false
Skips GPU culling entirely and reuses the previous frame's visibility. Useful for isolating culling cost in the profiler.
Debug Disable Rendering
bool
false
Runs GPU culling as normal but skips the actual BRG rendering. Useful for isolating rendering cost.
Debug Visualize Culling In Scene View
bool
false
Freezes culling to the Game camera's frustum so you can orbit in the Scene View and see what is being culled.
Gathered Allocations
The system can record peak allocation values during runtime and use them as initial sizes on the next run, eliminating runtime buffer growth.
Property
Type
Description
Record Allocations
bool
Record peak allocation sizes during play mode and use them as initial allocation sizes.
Gathered Max Chunks
int
Peak chunk count from previous sessions.
Gathered Max Pools
int
Peak pool count from previous sessions.
Gathered Max Instances
int
Peak instance count from previous sessions.
Peak values are recorded automatically during play mode.
Button
Description
Copy to Initial Sizes
Copies the gathered peak values to the Initial Chunk Count and Initial Pool Count fields in the Pooling section. A Pool Padding slider (1.0–1.25) adds headroom above the recorded peaks.
Clear Gathered Data
Resets all gathered values to zero.
Inspector Controls
The config inspector also shows:
Button
Description
Set This As Active
Registers this config in Preloaded Assets, replacing any existing config.