I have a prefab with a collider and a script that detects Particle Collisions. I know the script works bc if I remove the rigidbody from the parent gameobject, it destroys the prefab gameobject when the particles collide with it.
Why does the rigidbody prevent my prefab from sending Particle Collision messages?.
For future reference to anyone having this problem. I do not have a fix, but a work around instead. If you are using particle collisions on a gameobject that does not have a rigidbody, the callback (OnParticleCollison) will work normally. Example: I created a prefab with the collision callback script, added a sphere collider and it detects the collisions. If I add that prefab as a child to a gameobject with a rigidbody, it will fail. Adding a rigidbody to my prefab will make the parent fly around. But setting the prefabs rigidbody constraits to all checked stops this and allows for Particle collision detection.
I hope someone else can find a fix for this.
Check Enable Dynamic Colliders in Collision module of your Particle System. Dynamic colliders are any collider not configured as Kinematic.
Check this option to include these collider types in the set of objects that the particles respond to in collisions. If you uncheck this option, the particles only respond to collisions against static colliders.