BRG Prototype Extra Data
An optional component that you add to prefab assets to customize how BRG Instanced Renderer handles shadow rendering, LOD behavior, motion vectors, and dynamic density for that specific prefab type.
Any prefab registered as a prototype (via BRG Instance Group or Terrain Registerer) will pick up these settings automatically.
Shadow Optimizations
| Property | Type | Default | Description |
|---|---|---|---|
| Max Shadow Cascade | int (1–4) | 4 | Maximum number of shadow cascades this prototype renders into. Lower values skip distant cascades. Set to 1 for grass and small details. |
| Min Shadow LOD | int (0–7) | 0 | Minimum LOD level used for shadow rendering. If set to 1, shadows use the LOD1 mesh instead of LOD0, reducing shadow polygon count. |
| Override Max Shadow Distance | bool | false | Enables the per-prototype max shadow distance below. |
| Max Shadow Distance | float | 80m | Cull shadows for this prototype beyond this distance. Only used when the override toggle is enabled. |
| Override Max Shadow Crossfade Cascade | bool | false | Enables the per-prototype shadow crossfade cascade override below. |
| Max Shadow Crossfade Cascade | int (0–4) | — | Number of shadow cascades using dithered crossfade for this prototype. Overrides the global value on the Config. |
For more details, see Shadow Optimization.
Screen Size / LOD Overrides
Animated Crossfade Duration
When a LOD Group with animated crossfading is present on the prefab:
| Property | Type | Default | Description |
|---|---|---|---|
| Override Animated Crossfade Duration | bool | false | Enables a per-prototype animated crossfade duration, overriding the global default on the Config. |
| Animated Crossfade Duration | float | 0.5s | Time in seconds for animated LOD crossfade transitions for this prototype. |
Screen Size Culling
Disabled when a LOD Group or Mesh LOD is active (use the LOD Group's culled level or Mesh LOD's min screen size instead).
| Property | Type | Default | Description |
|---|---|---|---|
| Min Screen Size | float (0–1) | 0 | Screen size percentage below which instances are culled. 0 means disabled. |
| Fade Mode | enum | None | How instances disappear at the cull boundary: None (instant pop), Crossfade (stateless dither), or Animated Crossfade (time-based fade). |
| Fade Width | float (0–1) | 0 | Width of the fade band for stateless crossfade mode. |
When Fade Mode is set to Animated Crossfade, the Override Animated Crossfade Duration field appears here instead of the LOD Group section above.
Mesh LOD (Unity 6.2+)
Disabled when a LOD Group is present. Requires a mesh with internal LOD ranges (lodCount > 1).
| Property | Type | Default | Description |
|---|---|---|---|
| Use Mesh LOD | bool | false | Enables Mesh LOD mode. |
| Num LODs | int (1–8) | 4 | Number of BRG LOD levels to create from the mesh's internal LOD ranges. |
| Fade Mode | enum | None | Crossfade mode for Mesh LOD transitions: None (hard cut), Crossfade (stateless dither), or Animated Crossfade (time-based). |
When Fade Mode is set to Animated Crossfade, the Override Animated Crossfade Duration field appears here.
Per BRG LOD level:
| Property | Description |
|---|---|
| Mesh LOD Index | Which mesh LOD index to draw for this BRG LOD level. |
| Screen Size | Screen-size threshold for transitioning to this LOD. Must be monotonically decreasing. |
| Fade Width | Crossfade transition width (only shown with stateless Crossfade mode). |
The culled level uses the Min Screen Size property as its threshold.
The inspector provides an Extract Screen Sizes from Mesh LOD Curve button that auto-populates screen-size thresholds from the mesh's native LOD selection curve. A LOD Selection Bias slider adjusts the renderer's bias for fine-tuning without modifying the mesh.
For more details, see LOD Groups and Mesh LOD.
Density
Density Scaling
| Property | Type | Default | Description |
|---|---|---|---|
| Enable Density Scaling | bool | false | Allows this prototype to participate in runtime global density scaling via BRGInstancedRenderer.SetDensity(). |
Dynamic Density
| Property | Type | Default | Description |
|---|---|---|---|
| Enable Dynamic Density | bool | false | Enables GPU-side density culling for this prototype. |
| Min Fraction | float (0–1) | 0.3 | Minimum proportion of instances kept at maximum distance (30% by default). |
| Fade Width | float | 0.05 | Fade band width for smooth transitions. Only editable when the prototype has a stateless crossfade mode set (see below). |
| Dynamic Density Mode | enum | ScreenSize | Screen Size — density based on screen-space size. Distance — density based on world-space distance. |
| Screen Size Mode | —— | —— | ———————— |
| Start Screen Size | float (0.001–1) | 0.1 | Screen size percentage above which full density is maintained. Only shown in Screen Size mode. |
| Distance Mode | —— | —— | ———————— |
| Start Distance | float | 50m | Distance below which full density is maintained. Only shown in Distance mode. |
| End Distance | float | 150m | Distance at which minimum density is reached. Only shown in Distance mode. |
Density Fade Behavior
Dynamic density uses the prototype's LOD crossfade mode for fade transitions. The crossfade mode is determined by whichever LOD system is active on the prototype: LOD Group, Min Screen Size culling, or Mesh LOD.
- Stateless Crossfade — the Fade Width field controls the fade band width. For screen-size mode this is a screen-size fraction; for distance mode this is a density fraction.
- Animated Crossfade — fade transitions use the animated crossfade duration automatically. The Fade Width field shows the fade duration in seconds.
- No crossfade mode — density-culled instances snap in and out with no fade. The inspector shows a help box recommending you set a crossfade mode via LOD Group, Min Screen Size culling, or Mesh LOD.
For more details, see Dynamic Density.
Other Settings
| Property | Type | Default | Description |
|---|---|---|---|
| Force No Motion Vectors | bool | false | Disables motion vector generation for all LODs of this prototype. Saves GPU work for objects where TAA/motion blur quality doesn't matter. |
Notes
- Add this component to the prefab asset in the Project window, not to scene instances.
- Changes are detected automatically via the inspector. When you modify settings, BRG Instanced Renderer refreshes the affected prototype.
- If no BRG Prototype Extra Data component is present on a prefab, default values are used.