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.