Quick answer: Open the Niagara System, set System Properties → Calculate Bounds Mode = Fixed, expand Min/Max to enclose the full particle travel range, and disable distance culling on hero VFX. Auto bounds always under-estimate fast-moving particles.
A long-trail projectile, a sweeping fireball, an explosion debris cloud. The effect plays once, the player rotates the camera, and the trail vanishes mid-flight. Niagara culled the system because its computed bounds didn’t see where the particles actually went.
The Symptom
Particles spawn correctly. Camera moves. The whole system pops out of view as soon as the spawn point exits the frustum, even though particles have traveled to a still-visible location. Or particles disappear earlier than their lifetime would suggest.
What Causes This
Niagara’s default Calculate Bounds Mode is Dynamic in some templates and Local Space in others. Dynamic recomputes from active particles each frame, which is correct but can lag the actual extent. Local Space uses the system’s component bounds — which is just a tiny box around the origin. Either way, when the box is outside the frustum the renderer culls.
The Fix
Step 1: Open the Niagara System asset.
Step 2: Switch to Fixed Bounds. In the System Properties panel (top of the System tab), find Calculate Bounds Mode. Set Fixed.
Step 3: Size Fixed Bounds. Two vectors appear, Min Bounds and Max Bounds in local space. Size them to enclose the entire trajectory of particles for the longest possible lifetime.
// Example: a 1m radius sphere of debris flying outward 5m for 3s
Min Bounds: (-500, -500, -500)
Max Bounds: ( 500, 500, 500)
// Example: a long beam shooting forward 30m
Min Bounds: ( 0, -200, -200)
Max Bounds: (3000, 200, 200)
Units are centimeters (UE default). The bounds are in the system’s local space, so they move with the system component.
Step 4: Test by moving the camera. With the system spawned, look away then back. Particles should remain when partial overlap with the frustum exists. If still culling, bounds aren’t big enough.
Per-Emitter Bounds
For systems with mixed motion (one slow emitter and one fast emitter), each emitter has its own Bounds Mode. Set the slow one to Local and the fast one to Fixed if that simplifies tuning.
Distance Culling
Even with correct bounds, components have a Cull Distance Volume contribution. For hero VFX (player abilities, key attacks):
- NiagaraComponent → Rendering → uncheck Cull By Distance.
- Or set Cull Distance to a very large value.
For ambient ground-clutter VFX, leave culling on; the savings are worth occasional pops.
Significance Index for LOD
Set System Properties → Significance Index for hero VFX. Higher values mean the system is kept active under load, with less significant systems culled or simulated at lower rates first. A boss attack at 100 will outlive ambient embers at 0 when the Significance Handler kicks in.
Verifying
Console: fx.Niagara.DebugDraw.SystemBounds 1. Bounds appear as a wireframe box in the editor viewport. If the box is far smaller than the visible particle extent, your bounds are wrong; resize.
“Fixed bounds. Sized for full travel. Cull distance off for hero VFX. Particles persist.”
Related Issues
For Niagara not rendering, see Niagara not rendering. For LOD popping, see VFX LOD popping.
Fixed bounds. Big enough. Cull distance off for heroes.