Search Unity

Particle System Doesn't Emit At All

Discussion in 'Editor & General Support' started by better_walk_away, Jan 4, 2019.

  1. better_walk_away

    better_walk_away

    Joined:
    Jul 12, 2016
    Posts:
    291
    I am using Unity 2018.3.0f2. I encountered some severe bugs where particle systems don't emit at all. I managed to reproduce one of the bugs I encountered when using Unity's build-in particle on a brand-new Unity project. Are you having this issue as well? Here are the steps to reproduce the bug:

    1. Create a brand-new Unity project with Unity 2018.3.0f2.
    2. Download my custom package "bugParticle.unitypackage", this is the particle system I am using.
    3. Import this Unity package to the project.
    4. Place the particle prefab onto the scene.
    5. Place the main camera in front of the particle system so that we can see the particles through camera.
    6. Hit Run.
    We will see that the particle system doesn't emit the particles at all. If we take a look at the scene view while the game is still running, we will see that the particles start to emit. My guess is that by doing so, we cause the particle system in the scene view to update and start to emit particles. I cannot even workaround this problem by using "particle.Play()". "Play On Awake" is also checked in the particle system, so I don't know where the problem is. Can anyone help me check my particle system? If this bug is confirmed by many of you, I will officially submit a bug report to Unity.
     

    Attached Files:

    Last edited: Jan 5, 2019
    torsigurdson likes this.
  2. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,527
    just file a bug report
     
    karl_jones and richardkettlewell like this.
  3. better_walk_away

    better_walk_away

    Joined:
    Jul 12, 2016
    Posts:
    291
    I have recorded a bug reproducing video for my bug report. We can see that the particle system wasn't emitting until we took a look at the particle system in the scene view. I am going to submit a bug report now.
     
    VicM and Lars-Steenhoff like this.
  4. better_walk_away

    better_walk_away

    Joined:
    Jul 12, 2016
    Posts:
    291
    Here is my bug report, I have just sent it to Unity.
    1. What happened

    I was messing around with the settings of my particle system, then I found that my particle system wasn't emitting when I hit Run. "Play On Awake" setting was also checked, so I didn't know where the problem is.

    2. How we can reproduce it using the example you attached

    I have attached the particle system that I was using ("bugParticle.unitypackage") and a bug reproducing video ("Unity Particle System Bug.mp4") for my bug report.

    Here are the steps to reproduce the bug:

    1. Create a brand-new Unity project.

    2. Import "bugParticle.unitypackage" into the project.

    3. Drag the particle system onto the scene.

    4. Place the main camera in front of the particle system so that we can see it through camera.

    5. Hit Run button.

    We will see that the particle system isn't emitting the particles. If we take a look at the particle system in the scene view while the game is still running, the particle system will start to emit. And if we build the game and run it, the particle system also won't be emitting the particles.
     
    Last edited: Jan 5, 2019
  5. better_walk_away

    better_walk_away

    Joined:
    Jul 12, 2016
    Posts:
    291
    I managed to narrow down the sources of the issue. Surprisingly, this bug is very easy to reproduce if we want to reproduce the bug from scratch on Unity 2018.3.0f2. Just create a particle system and then enable any of these settings in the particle system:
    1. Limit Velocity over Lifetime
    2. Rotation by Speed
    3. External Forces
    4. Noise
    5. Collision
    6. Triggers
    7. Sub Emitters
    8. Trails
    Then the particle system won't be emitting particles when running the game.
     
    Last edited: Jan 5, 2019
  6. sharkapps

    sharkapps

    Joined:
    Apr 4, 2016
    Posts:
    145
    Sounds like the same thing as 1099125. Last entry from someone at Unity was on 12/20 and says they are investigating and working to resolve asap. Throw some votes at it if you haven't already. It's really bad and in a perfect world, should have stopped 2018.3 from leaving beta.
     
    torsigurdson and Lars-Steenhoff like this.
  7. karl_jones

    karl_jones

    Unity Technologies

    Joined:
    May 5, 2015
    Posts:
    8,299
    1099125
    Could you file a bug report, please? We do not currently have any bugs regarding this issue in our team, QA may still be processing them. If you could submit a bug with an example project and post the number here, then I will take a look at it Monday.

    Your bug report does not include an example project and so has not passed through QA yet.
    If you want a bug report to go through quickly then an example project is required, otherwise, QA has to attempt to create one or it may not even get looked at. This explains how we process bug reports: https://blogs.unity3d.com/en/2013/10/28/bug-reports-incidents-and-some-bashing/

    These issues do not look related to me.
    1099125 looks like a VR/Graphics issue. This sounds like it could be a problem with our culling changes.
     
    ProGameDevUser and Peter77 like this.
  8. better_walk_away

    better_walk_away

    Joined:
    Jul 12, 2016
    Posts:
    291
    I had filed the bug report through "Help->Report a Bug..." in the editor 10 hours ago, but I haven't received my case number yet, I thought maybe it was because it's weekends now. I wasn't sure if my bug report had been successfully uploaded to Unity, maybe my report is still being processed. I actually found that the steps I described here to reproduce the bug isn't 100% guaranteed, I now know the exact steps to reproduce it. I will file my report again and provide even more details.
     
    Last edited: Jan 5, 2019
    karl_jones likes this.
  9. better_walk_away

    better_walk_away

    Joined:
    Jul 12, 2016
    Posts:
    291
    1114729
    Hello @karl_jones, the bug report that I have filed 10 hours ago actually has just finished processing. Your reply here is just 14 minutes before my bug report has finished processing. My case number is 1114729. However, I am currently writing a newer version of my bug report, I will file a new version of my bug report a few moments later.
     
    karl_jones likes this.
  10. better_walk_away

    better_walk_away

    Joined:
    Jul 12, 2016
    Posts:
    291
    I have just finished writing my new bug report and filed it, it took me quite some time to finish it. The steps of reproducing the bug are almost the same but with one more reminder, we have to place the camera to a position where the icon of the particle system cannot be seen from the view of the camera.
    Here is my new bug report:
    1. What happened

    I was messing around with the settings of my particle system, then I found that my particle system wasn't emitting when I hit Run. "Play On Awake" setting was also checked, so I didn't know where the problem was. After several testing, I can confirm that it's a bug in Unity 2018.3.0f2. And I know the exact steps to reproduce this bug.



    2. How we can reproduce it using the example you attached

    I have committed my testing project to my GitHub, here is the link:

    https://github.com/h3902340/UnityParticleSystemBug

    There is only one particle system in the sample scene of my testing project. Once we have cloned the project from my GitHub repository, open the project and simply hit the Run button, I will see that the particle system isn’t emitting the particles. If we take a look at the particle system in the scene view while the game is still running, the particle system will start to emit. Note that we have to find the particle system and look at it, if we don’t find the particle system in the scene view and not look at it directly, the particle system still won’t be emitting particles.

    Here are the exact steps how we can reproduce this bug:

    1. Create a brand-new Unity project.

    2. Create a particle system.

    3. Enable any of these settings in the particle system (I have tested myself, these are the settings that are causing this issue):

    (1) Limit Velocity over Lifetime

    (2) Rotation by Speed

    (3) External Forces

    (4) Noise

    (5) Collision

    (6) Triggers

    (7) Sub Emitters

    (8) Trails

    4. Position the main camera to a place where the icon of the particle system is not inside the view of the camera while we still can see the particles through camera if the particle system is functioning correctly.

    5. Hit the Run button.

    We will see that the particle system isn’t emitting at all. If we take a look at the particle system in scene view while still running the game, the particle system will start to emit. If we build the game and run it, the particle system also won’t be emitting.

    I also have attached a bug reproducing video named “Unity Particle System Bug Reproducing.mp4” here, we can see how we can reproduce the bug in action.

    And here is the attached video I sent to Unity:
     
    Last edited: Jan 5, 2019
    karl_jones likes this.
  11. karl_jones

    karl_jones

    Unity Technologies

    Joined:
    May 5, 2015
    Posts:
    8,299
    Thanks. It does sound like a culling issue.
     
  12. sharkapps

    sharkapps

    Joined:
    Apr 4, 2016
    Posts:
    145
    Although the initial bug was files as an issue in a VR project, the multiple +1 comments don't seem to be be conclusive on it being VR-related.
     
  13. karl_jones

    karl_jones

    Unity Technologies

    Joined:
    May 5, 2015
    Posts:
    8,299
    Hey,

    So this is not a bug but an unfortunate symptom of the new culling changes.

    We introduced a new feature in 2018.3 called Culling Mode. This was to replace the need for custom culling as described in this blog post - https://blogs.unity3d.com/2016/12/20/unitytips-particlesystem-performance-culling/

    By default we have Automatic mode enabled in new projects. This means that when a particle system is off-screen then it will be paused and re-enabled when it enters back on to screen. This helps with performance. The bounding box is used to calculate if a system is culled or not, by default a system is in procedural mode which means we are able to calculate a fixed bounds for the entire lifetime of the system however when you enable certain options (see the blog post) then non procedural mode is enabled and we calculate the bounds by examine all the particles that are currently alive. So in your example the system starts with a very small bounding box because no particles have been emitted. Once the camera looks at the systems origin(location of the small bounding box), then it starts emitting and the bounds become larger.

    We can see how this is confusing to people upgrading. We will investigate a way to better telegraph this to the user so it does not appear as a bug.

    For now you can solve the issue by either enabled prewarm mode or switching the culling mode to Always Simulate.
     
    MichaelEGA, yuch3n, xVergilx and 3 others like this.
  14. better_walk_away

    better_walk_away

    Joined:
    Jul 12, 2016
    Posts:
    291
    Thanks, Karl! I have never heard of Culling Mode, I will take a look at it.
     
    karl_jones likes this.
  15. sharkapps

    sharkapps

    Joined:
    Apr 4, 2016
    Posts:
    145
    Thanks for the extremely quick and detailed response, @karl_jones! I can confirm this solves the missing ParticleSystem problems in my cases as well.

    As for my wishful thinking regarding 1099125, I can confirm it was just wishful thinking -- changing culling or prewarm setting does not affect that case.
     
    adamgryu likes this.
  16. adamgryu

    adamgryu

    Joined:
    Mar 1, 2014
    Posts:
    188
    Hey, I just wanted to chime in and say that this thread helped me diagnose my issue as well. I was scratching my head over why certain particle systems would suddenly stop playing (and then magically start playing when I opened the scene view).

    These particle systems follow the player, so using Always Simulate worked fine for me. :)
     
  17. karl_jones

    karl_jones

    Unity Technologies

    Joined:
    May 5, 2015
    Posts:
    8,299
    It sounds like they went away because the bounds shrunk and went of screen. We are considering a custom bounds option to solve this. We will discuss it more internally.
     
  18. richardkettlewell

    richardkettlewell

    Unity Technologies

    Joined:
    Sep 9, 2015
    Posts:
    2,285
    Hi all,

    We have a fix coming for this, so that the default culling mode (Automatic) behaves like culling used to in versions of Unity prior to 2018.3, i.e. no unexpected changes in behaviour for you!

    Sorry for the problems caused! I'll try remember to post again once I know exactly which patch the fix will be in :)
     
  19. better_walk_away

    better_walk_away

    Joined:
    Jul 12, 2016
    Posts:
    291
    I got the email yesterday, they said that this will be fixed in 2019.2.0a4.
     
  20. richardkettlewell

    richardkettlewell

    Unity Technologies

    Joined:
    Sep 9, 2015
    Posts:
    2,285
    To avoid any panic, I want to clarify that we are fixing this in 2018.3 too.
     
    sharkapps and better_walk_away like this.
  21. richardkettlewell

    richardkettlewell

    Unity Technologies

    Joined:
    Sep 9, 2015
    Posts:
    2,285
    The fix has finally landed in 2018.3.6f1, which has an estimated release date of 13th Feb.
     
  22. Francoimora

    Francoimora

    Joined:
    Aug 1, 2013
    Posts:
    69
    Had this problem when upgrading from 2017 to 2018.3.6f1, the Culling was by default on "Pause and catch-up".
     
  23. xVergilx

    xVergilx

    Joined:
    Dec 22, 2014
    Posts:
    3,296
    If by any chance anyone encounters same behaviour with .Emit not emitting anything, try setting "Always Simulate" as well.
    This is quite unexpected, but "Pause and Catch-Up" seems to be preventing particle emission at all, even if the ParticleSystem right in front of the camera.

    Also, it doesn't do this all the time, but after certain period of time it does emit particles as it should. I haven't been able to find out whats causing particle system to emit them once again.

    Probably camera movement.

    (this is on 2019.1.0f2)
     
  24. mwotring

    mwotring

    Joined:
    Jul 26, 2019
    Posts:
    4
    This is still bugged for me (as far as I can tell) I can run the particle effect in the editor, and I've set mine to run "Always Simulate" but I'm not seeing it in-game.
    https://ibb.co/3WygJvv
     
  25. Ne0mega

    Ne0mega

    Joined:
    Feb 18, 2018
    Posts:
    755
    Same here. Using Unities Particle Pack, and seeing that they set it up for non procedural mode, it seems.

    Looks really cool in Scene View, but all sorts of messed up in Game view. Seems to be some kind of distance cull, because if I zoom way in on my world map, they appear, but I cant find that setting ATM. This is probably a mixture of URP differences and the performance culling thing.

    https://blogs.unity3d.com/2016/12/20/unitytips-particlesystem-performance-culling/
    by default, the Unity Particles Pack has some settings which prevent procedural mode, and need to be changed.

    I have already gone through the hassle of converting them to URP. So annoying.

    LoL

    The particles will play in windowed game mode, but in full-screen gamemode, none of them work.

    Edit: well, I moved to HDRP, and now they work.
     
    Last edited: Jan 29, 2020
  26. Lynxed

    Lynxed

    Joined:
    Dec 9, 2012
    Posts:
    121
    I'm trying to render particles with a CommandBuffer.DrawRenderer() (HRDP) and particles don't update even with "Always Simulate". I'm emitting them via ParticleSystem.Emit(). But they don't actually updated and drawn. They appear only when i switch to Scene Camera and they stop updating the moment i switch to Game. The version is 2019.3.1f1
    Those are Billboard with View aligment and Always Simulate:

    upload_2020-3-31_23-38-37.png

    What am i doing wrong? Please help!
     
  27. CoolJosh3k

    CoolJosh3k

    Joined:
    Dec 3, 2016
    Posts:
    145
    2018.4.36f1 from 2017.4.25f1 and I can report that something is really messed up with particle emission.

    Prewarm can only be used on looping particle systems, but even then it does not solve the issue. Always Simulate is unable to fix my problem either.

    I cannot see particles in scene editor or when the game is running.
     
  28. MichaelEGA

    MichaelEGA

    Joined:
    Oct 11, 2019
    Posts:
    40
    Thanks! Switching to the "Culling Mode" to 'Always Simulate' solved my issue.

    EDIT: If I turn pre-warm on and switch to 'always simulate' the particles work for that play instance. I then have to run an instance with them unselected, and then select them again for it to work... not ideal.

    EDIT 2: I think this was my fault. The particles are static. So switched of 'looping' and they load every time. Not entirely sure how these things relate but it seems to work, so *shrug*...

     
    Last edited: Sep 22, 2022