Quick answer: Set VFX Graph → System Properties → Bounds Settings to Recorded or Manual with explicit bounds large enough for particle spread.
A meteor trail VFX vanishes when the meteor goes slightly off-screen, even though particle trails are still visible. The system’s bounding box used for culling is too tight.
Bounds Modes
- Manual: explicit Vector3 bounds. Predictable but inflexible.
- Recorded: VFX Editor records actual particle extents during playback. Use for known effects.
- Automatic: runtime updates bounds. More CPU; safer for dynamic effects.
Set Manual Bounds
In VFX Graph, click the system node. Inspector → Bounds → expand the box to cover the maximum extent particles ever reach.
For a 100m trail behind a fast meteor: bounds Center forward 50m, Size 100×10×10.
Recorded Bounds
Play the effect in the VFX Editor preview. Right-click bounds → Record. Plays the effect for a few seconds, captures min/max particle position, sets bounds. Save asset.
Per-Instance Override
VisualEffect.SetVector3(“bounds_center”, ...) at runtime if your effect dynamically changes scale (e.g. growing explosion).
Verifying
Meteor flies off-screen; trail still visible behind it. Effect culls only when truly off-camera. Profiler shows no unnecessary draw calls for fully off-screen effects.
“Bounds drive culling. Tight bounds = pop-in; loose bounds = always-draw. Recorded is the sweet spot.”
Visualize current bounds in scene view via Gizmos on Selected — helps tune without running the game.