Collisions on children won't collide whilst there is a rigidbody on the parent object!

Hi @everyone I’m having some issues with rigidbodies in Unity 2020.1.3f1

For my prototyping, I have a collection of spheres with sphere colliders and rigidbodies (with is Kinematic set to true) in a ‘bridge’ game object parent.

When a bridge is set to fall, I add a rigidbody to it (with is Kinematic set to false), and AddForce so it falls towards Vector3.down.

The bridge falls as expected, but the OnCollisionEnter event on the sphere gameObject children DON’T trigger when hitting another surface/bridge with a collider.

What am I doing wrong?

Afaik the OnCollision Callbacks are always sent to the object with the corresponding Rigidbody. So if you have a script you might have to add that to the gameobject with the rigidbody component. I am not sure though how multiple rigidbodys in one hierarchy are handled here.

If you must have a script per child that is basically triggered when the corresponding Collider on said child is the colliding collider you could add some kind of “message relay script” that is on the Rigidbodys gameobject.

For this to work you basically have all childs register themselves at this relay script into a dictionary with the Collider as Key.
Then in your collision event you can simply get the correct child object by the collider from the collision event and relay the information to this correct object.