Issue with ParticleSystem.Play / Stop (checked with isPlaying)

This is less of a question but more of a… rant, I tried to take most of the classes by seeing what the video is going to be about, pausing it and then just try to come up with my own solution before watching the rest of the video, then amend the code when I see that the lesson provides a much better solution than what I created.

Throughout all of this course I’d been using ParticleSystem.Play and ParticleSystem.Stop coupled with isPlaying to make sure things aren’t repeatedly restarted so it works. However, things really broke in this lesson when multiple turrets were firing, the ParticleSystem seem to have a hard time playing again after being stopped, sometimes it’d work, sometimes it wouldn’t, without any obvious rhyme or logic to it. I then upgraded from Unity 2018.3 to 2018.4 after seeing similar complaints online about .Play and .Stop online on various other forums, and lo and behold, it solved the problem, 90% of the time, all turrets would fire when they should, but sometimes there would be random unexplained delay upon finding a new target.

I finally gave up on Play and Stop, then started doing what Ben showed in the lecture series with:

ParticleSystem.emission.enabled = true/false;

That solved all the issue, finally! Does anyone else have any similar experience with Play and Stop? I guess I will just avoid it like a plague from now on and use emission.enabled.

Privacy & Terms