Quick answer: Call particles.Stop(true, ParticleSystemStopBehavior.StopEmittingAndClear) for instant clear including sub-emitters. Default Stop only stops new emissions.
A fire effect’s emitter is stopped when the fire goes out. The visible flames persist for 2 seconds after stop. You wanted instant clear. The default Stop behavior keeps existing particles alive until their lifetimes expire.
Stop Behaviors
ParticleSystem.Stop has two parameters and two enum values:
- withChildren (bool): apply to sub-emitters too.
- stopBehavior (enum):
- StopEmitting: stop spawning new; existing live until natural death.
- StopEmittingAndClear: instant clear of all particles.
For Instant Disappearance
fireParticles.Stop(true, ParticleSystemStopBehavior.StopEmittingAndClear);
Stops emitting, clears all existing particles, and applies recursively to sub-emitters. The effect vanishes immediately.
For Natural Fadeout
fireParticles.Stop(true, ParticleSystemStopBehavior.StopEmitting);
Stops spawning new particles; existing particles complete their lifetimes. Used when you want the effect to fade naturally over its tail length.
Separate Clear
fireParticles.Clear(true); // withChildren
fireParticles.Stop();
Manually clearing then stopping is equivalent to Stop with StopEmittingAndClear. Use when you need different conditions for each step.
Restart Pattern
For pooling: completely reset an emitter before re-use:
particles.Stop(true, ParticleSystemStopBehavior.StopEmittingAndClear);
particles.Play(true); // withChildren
Cleans the system, starts fresh. Reliable across reuse cycles.
Verifying
Trigger Stop. With StopEmittingAndClear, the effect disappears within 1 frame. Without, existing particles continue until their lifetime expires. Capture both for comparison; pick the right behavior for your use case.
“Stop has two arguments. The second one matters: StopEmittingAndClear instead of the default StopEmitting.”
For pooled effects, always Stop(true, StopEmittingAndClear) on return-to-pool — eliminates leftover particle artifacts on next play.