I would like to know more about how collision detection works in Unity especially when character controllers and NavmeshAgents get involved.
For example, how can I detect collision between NavmeshAgent and a CharacterController? I have added a sphere collider to my NavmeshAgent, but it doesn't seem to detect a collision unless I set it to "IsTrigger". I have tried OnCollisionEnter(), OnControllerColliderHit() and OnTriggerEnter(). OnTriggerEnter() seems to be the only one that works and only when I enable "IsTrigger".
How come the other two don't work? Shouldn't they? What if I didn't want to make the collider a trigger?