Particle system prewarm flag is ignored when calling Start after Stop was previously called

Pretty much what title says. If you have a particle system with prewarm enabled it will start as expected: some particles at different stages of their lifetime.

If you call Stop() and then a while later Start(), the particle system will restart from scratch instead of prewarmed.

This was observed when updating from 2022.3.26 to 2022.3.28.

This change from 2022.3.28 might be related:

Hi!
Could you fill in a bug report, please?
It would help us reproducing and keeping track of it.
Thank you in advance

Reported!

Furthermore, it only happens if you call Particles.Play() when there’s still some particles active after calling Particles.Stop().

To summarize:

  • If there’s NO particles alive and call Play after previously calling Stop: The particle system will restart prewarmed.
  • If there’s any particle alive and call Play after previously calling Stop: The particle system will start spawning at the defined rate but no prewarmed particle will appear.

A workaround is to call Particles.Clear() before Particles.Play(), this will ensure the system will restart prewarmed even if there were some remaining particles.

1 Like

Chiming-in to say that the bug have been reproduced by the Unity Team and its being worked on.

Issue tracker link: Unity Issue Tracker - The particle system prewarm flag is ignored when calling the Start function after the Stop function

1 Like