proposed: gaint table of collider interactions

I was just reading in the scripting forum where someone was having problems handling collision events in a script. I’ve certainly had to wrestle with it myself, particularly when I expect an event but for some mysterious reason the physics engine doesn’t support it.

I would like to see a big table in the docs of all of the collider types (primitive, trigger, character, wheel, mesh, etc.) and how they interact with each other - whether they need rigidbodies involved, which collision events are registered, etc.
There are all kinds of gotchas (character colliders don’t register OnControllerColliderHit events against other character colliders? Sometimes you need a rigidbody, sometimes you don’t…) and everyone having to figuring it out independently through trial and error seems a waste of effort.

So the first step is to list all of the collider types:

primitive (sphere, capsule, box)
mesh
character
wheel
raycast
terrain
trigger

Is that right?

Then there are all of the event types:
OnCollisionEnter/Exit/Stay
OnTriggerEnter/Exit/Stay
OnControllerColliderHit
GetGroundHit
?

Then, assuming the script is on the first object, document:
primitive vs. mesh
primitive vs. character
mesh vs. primitive
character vs. trigger
etc.

The page in the docs about Mesh Colliders has a table with various types of “what interacts with what” info.

–Eric

Ah man, this is the second time you’ve caught me with an RTFM.
But!
That table is not in an obvious place and it doesn’t cover CharacterControllers or wheels or raycast colliders or terrains (if they’re a special case and not just meshes). It seems like that can all be consolidated somewhere under a general “colliders” heading.
But that is certainly part of the table there.

Agreed, but I just wanted to point out that this info isn’t completely lacking in the docs. :slight_smile:

–Eric