Search Issue Tracker
By Design
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
- Flickering bright white dots in the Scene when the Android Platform is selected and DX11 Graphics API is used with Iris(R) Xe Graphics GPU
- Inconsistent capitalization and misaligned text in multiple query blocks in Search window
- “Remove Unused Overrides” available on not loaded Scene and throws “ArgumentException: The scene is not loaded” warning
- Adaptive Probe Volume occlusion edge is calculated incorrectly when viewing probes near geometry edges
- WebGL sends wrong value with large numbers when SendMessage function is used
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.