Particles Rate Over Distance Emission not working when Kinematic Rigidbody2D attached

I think I found a bug but I need someone to check me before I log an Issue.

I am creating a 2D game and have a game 2D object with a smoke trail particles attached (think: missiles). What I had was working before Unity 5.5.x

My missile is homing missile so because it’s movement is performed via code – it is a kinematic object. But since Unity 5.5x, the smoke trail particles won’t play.

Here’s the deal:

  1. Create a particle system that has emission set to “Rate Over Distance”.
  2. Make sure particle simulation space is set to “World” or it won’'t work.
  3. Now add a Collider2D and Rigidbody2D components
  4. Make the Body Type “Kinematic”
  5. Particles stop playing UNLESS you also have “Use Full Kinematic Contacts” checked.

Why is this?

Note that in the steps above I am trying to see up colliders for the main game object and NOT collision for the smoke trail particles. I have no need for particle collision.

Also, I tried to move the particles off to a child game object but the behavior is still the same. It is as if if the particle is associated in any way to a Kinematic game object, the particles won’t play unless you also check “Use Full Kinematic Contacts”.

Is that hurting performance? What’s going on?


Try changing Emitter Velocity in Particle System to “Transform”

Hey @manny003, i’ve found the answer for this problem, i’ve posted the solution on the link below

My case: it starts emitting only after particleSystem.Play() method called.