
Unity Post-Processing Stacking Bug: Multiple Effects Creating Artifacts
February 17, 2026
Unity Dynamic Fog and Ambient Light Curves for Day and Night Cycles
February 18, 2026You place a Particle System in your scene. Everything looks perfect in the Editor. Then you move the camera away, or the game runs on mobile, and suddenly particles disappear before they finish their lifetime.
This is commonly referred to as the “Particle System Culling bug.” In reality, Unity is not broken — it is an optimization behavior related to particle system culling and camera visibility.
What Causes Particle Systems to Disappear?
Unity automatically disables particle systems that are not visible to the camera to save performance. This is controlled by the Renderer’s “Culling Mode” and the overall Camera settings.
Common causes of premature disappearance:
- Particle System outside camera frustum
- Culling Mode set to “Automatic” or “Cull Completely”
- Distance-based culling on mobile
- High particle count with performance optimizations
Step 1: Check Particle System Renderer Culling Mode
Select the Particle System, expand the Renderer module, and look for:
- Culling Mode
Options include:
- Automatic
- Always Animate
- Pause When Not Visible
For critical effects that must always play, set:
- Always Animate
Step 2: Adjust Max Particle Distance
In some cases, particles are culled if they are too far from the camera or if the Camera Layer Culling disables them.
Check:
- Camera → Clipping Planes (Near and Far)
- Particle System → Max Particle Distance (in Renderer module)
If Max Particle Distance is too small, particles outside this range will not render.
Step 3: Consider Camera Layer and Occlusion Culling
Unity’s Occlusion Culling can stop particles from rendering if the system thinks they are hidden.
Options to test:
- Disable Occlusion Culling on the Camera temporarily
- Ensure particle layer is included in Camera culling mask
Step 4: Use World Space vs Local Space
Particles using local simulation space may “disappear” if the parent GameObject moves out of view.
Switching to World simulation space ensures particles persist even if the parent moves:
- Particle System → Main → Simulation Space → World
Step 5: Mobile Performance Optimizations
On mobile, Unity aggressively culls distant or off-screen particle systems to save GPU cycles.
Ensure:
- Renderer → Culling Mode → Always Animate
- Reduce unnecessary particle count
- Keep important particle systems close to the camera if possible
Step 6: Scripted Override (Optional)
You can force the particle system to keep playing regardless of culling:
ParticleSystem ps = GetComponent<ParticleSystem>(); var main = ps.main; main.simulationSpace = ParticleSystemSimulationSpace.World; // Force ParticleSystem to update even when not visible ps.Simulate(0, true, true); ps.Play();
This ensures particles continue updating even if the system would normally be culled.
Common Symptoms
- Particles vanish when the camera moves far away
- Effects stop mid-animation in mobile builds
- Particle trails or smoke disappear unexpectedly
- Works fine in Editor but not in build
Quick Debug Checklist
- Renderer → Culling Mode set to Always Animate
- Simulation Space set to World if needed
- Check Camera clipping planes and culling mask
- Check Max Particle Distance
- Disable Occlusion Culling for testing
- Reduce particle count if mobile performance is an issue
Is This a Unity Bug?
No. Particle systems disappearing is usually an intentional optimization. Unity assumes off-screen particles can be skipped for performance reasons.
The “bug” only appears when you expect particles to always play regardless of visibility.
Final Thoughts
Premature particle disappearance can be frustrating, but it is predictable. Adjust Culling Mode, Simulation Space, and camera settings to control which particle systems must always animate.
With these changes, your effects will remain consistent across Editor, mobile, and console builds.










