Hey! A bit of background We are currently investigating a long standing issue regarding the particle system and physics. When a particle system is driven by a rigidbody and is using inherit velocity the particles will behave erratically when the system is moving at high speeds. This is because we calculate the particle systems velocity each frame by using the old position, new position and time dt: Velocity = (position - oldPosition) / dt; The rigid body does not update every frame(it uses fixed time) so our velocity calculation can be off from the actual velocity used by the rigid body. Currently we suggest users enable interpolation when using RigidBody's to fix this issue and it does work in the majority of cases however if you are setting the velocity directly to the rigidbody then the velocity calculations can become incorrect. For example. If a system is moving along the x axis and a script changes the velocity to now be along the y axis then we get a frame where our velocity is calculated incorrectly causing a particle to fly off in the wrong direction. The fix We now have a fix which does the following: Velocity = rigidbody velocity + local velocity. Local velocity is calculated from the coordinates with respect to the rigidbody. So for example if you had a child particle system moving under a rigid body parent then you would want the velocity of the rigid body plus the velocity of the local movement. The question So now you have some background We want to make it default behaviour to grab the rigidbody velocity and do the above calculations if a rigidbody is present. We discussed internally having an option to enable/disable this behaviour but could not see any reason you would not want it enabled. We don't want to add unnecessary API/editor features. So can you see any reason why you would not want this enabled by default? Edit: This fix has now gone into 5.5. If you have any issues regarding this please file a bug report and post the number here.