API REFERENCE / CONSOLE VARIABLES
Console variables
Use these Unreal console variables to tune import, proxy generation, LOD transitions, and diagnostic behavior. Variables marked import time must be set before the model import starts; changing them during an import has no effect on work that has already been queued.
Import and proxy generation
| Variable | Type / default | Read timing | Purpose |
|---|---|---|---|
r.Fragments.CellSizeCm | float · 2000 | Import time | Sets the XY cell edge length in centimetres. Smaller values create tighter buckets and more buckets. |
r.Fragments.Proxy.Decimate | int32 · -1 | Import time | Override proxy decimation: -1 uses the importer property, 0 disables it, 1 enables it. |
r.Fragments.Proxy.DecimateRatio | float · -1 | Import time | Override the fraction of proxy triangles kept. Values are clamped to 0.05–1.0; values <= 0 use the importer property. |
r.Fragments.Proxy.CollisionDecimateRatio | float · 0.1 | Import time | Fraction of tier-0 proxy triangles kept for Chaos collision. This affects collision fidelity only. |
r.Fragments.Proxy.Tiers | int32 · 3 | Import time | Number of LOD2 proxy tiers. Use 1 for a single tier. |
r.Fragments.Proxy.OmitPx | float · 4 | Import time | Omits elements that project below this many pixels at a tier’s near edge. |
r.Fragments.Proxy.TierNearEdgesCm | FString · 100,10000,40000 | Import time | Comma-separated near-edge distances in centimetres, one value per proxy tier. |
r.Fragments.CellMerge.Decimate | int32 · -1 | Import time | Override LOD1 cell-merge decimation: -1 uses the importer property, 0 disables it, 1 enables it. |
r.Fragments.CellMerge.DecimateRatio | float · -1 | Import time | Override the fraction of LOD1 cell-merge triangles kept. Values are clamped to 0.05–1.0. |
r.Fragments.CellCollapseMinInstances | int32 · 20 | Import time | Cells with fewer items than this threshold are absorbed into a neighboring cell. |
LOD and frame pacing
| Variable | Type / default | Read timing | Purpose |
|---|---|---|---|
r.Fragments.Shell.LOD0PromoteCm | float · 1500 | Runtime | Distance at which shell cells switch between active LOD0 instances and merged LOD1 geometry. |
r.Fragments.Interior.LOD0PromoteCm | float · 1000 | Runtime | LOD0 promotion distance for interior cells. |
r.Fragments.LOD0HysteresisCm | float · 500 | Runtime | Hysteresis band around the applicable LOD0 promotion distance to prevent state thrashing. |
r.Fragments.Finalize.MsPer1kTris | float · 0.05 | Runtime | Estimated game-thread mesh-finalize cost per 1,000 triangles used by the paced finalize drain. |
r.Fragments.Finalize.Paced | bool · true | Runtime | Queues mesh finalization and paces it across frames. Set false for legacy A/B comparisons. |
r.Fragments.CellMergeEnqueue.Paced | bool · true | Runtime | Paces cell-merge enqueue and override work across frames. |
r.Fragments.SpawnPhase.DrainBudgetShare | float · 0.5 | Runtime | Fraction of the per-tick spawn budget reserved for completed async shell-build work. Clamped to 0.1–0.95. |
r.Fragments.ProxyFlush.Async | bool · true | Runtime | Runs proxy-contribution accumulation on a worker. Set false only for legacy A/B measurement. |
fragments.CellTransitionsPerTick | int32 · -1 | Runtime | Overrides the maximum cell LOD transitions per tick. -1 uses the component or subsystem property value. |
Debugging
| Variable | Type / default | Read timing | Purpose |
|---|---|---|---|
r.Fragments.LODDebug.AutoAttach | int32 · 0 | Spawn time | Set to 1 to automatically attach UFragmentLODDebugComponent to each model bucket root. |
r.Fragments.LODDebug.ForceAllToLOD1 | int32 · 0 | Runtime | Set to 1 to force cells with an available merge into LOD1, ignoring distance and frustum gates. |
r.Fragments.LODDebug.Verbose | int32 · 0 | Runtime | Enables verbose LOD debug logging while investigating cell transitions and representation changes. |
Set a variable in the Unreal console with a command such as:
r.Fragments.LODDebug.ForceAllToLOD1 1
Restore the default by setting the value shown in the table or by restarting the editor. The table reflects the plugin source defaults and should be updated when a CVar is added or renamed.