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
- Redoing creation of Sub Scenes and Cube GameObjects in Hierarchy throws “Assertion failed on expression: 'targetScene != nullptr’” error in Console window
- Selecting “New Sub Scene” after assigning “New Scene” in Sub Scene Script Component throws “Destroying GameObjects immediately is not permitted” in the Console window
- Shader Graph "Zoom Step Size" can be set to 0 even though the zoom still works
- Enabling/Disabling the Deprecated Nodes doesn't apply to the opened Shader Graph unless any Variable is added to the Blackboard
- Group Selection title text size is smaller in renaming than the actual font size
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.