Search Issue Tracker
By Design
By Design in 2023.3.X
Votes
0
Found in
2022.3.8f1
2023.1.9f1
2023.2.0b4
2023.3.0a3
Issue ID
UUM-46393
Regression
Yes
Particle System doesn't play in the Game view without opening Scene view first when playing it through script
Reproduction steps:
1. Open the attached project "repro51549"
2. Open "SampleScene"
3. Enter Play mode
4. Select the Scene view, then the Game view again
Expected result: the red Particle System plays at step 3
Actual result: the red Particle System plays at step 4
Reproducible with: 2022.1.0a13, 2022.3.8f1, 2023.1.9f1, 2023.2.0b4
Not reproducible with: 2021.3.19f1, 2022.1.0a12
Reproducible on: macOS 13.4.1 (Intel)
Not reproducible on: No other environment tested
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- "Shader warning in 'Hidden/Light2D': implicit truncation of vector type" is thrown when building Universal 2D template
- AI Assistant breaks compilation of packages using System.Runtime.CompilerServices.Unsafe via auto-referencing
- Unity Hub checks the "Documentation" module by default on the 6.4 and 6.5 streams despite that it was unchecked with the previous installs
- Shortcut that toggles between Dopesheet and Curves Views in the Animation Window's Timeline is mislabed
- Property List Items Overlap onto the Property List's top edge when scrolling through a long Property List
Resolution Note:
The issue here is that the particle system is being played every frame, instead of playing it once and let it play.
Under some circumstances, if the particle system is able to spawn a particle during a frame (depending on frame rate), it will look like it is working fine. This is because the particle system wont restart the emitters when there are particles alive, but some other parts will still be reset. The step of switching to scene view just causes a slightly longer frame which is enough to spawn one particle, but it is otherwise unrelated.
The suggested fix to this is to only call Play once, not every frame. You can query ParticleSystem.IsPlaying() to help with this.
Resolution Note (2023.3.X):
The issue here is that the particle system is being played every frame, instead of playing it once and let it play.
Under some circumstances, if the particle system is able to spawn a particle during a frame (depending on frame rate), it will look like it is working fine. This is because the particle system wont restart the emitters when there are particles alive, but some other parts will still be reset. The step of switching to scene view just causes a slightly longer frame which is enough to spawn one particle, but it is otherwise unrelated.
The suggested fix to this is to only call Play once, not every frame. You can query ParticleSystem.IsPlaying() to help with this.