Unity’s documentation for the CharacterController “isGrounded” property seems ambiguous and is unclear to me.
For example let’s say the CharacterController is grounded (colliding with a game object underneath it) and then Move is called (Such that it no longer collides with any game object after being moved)
Was the CharacterController touching the ground during the last move?
The documentation is ambiguous since there are two possible interpretations :
isGrounded depends on the CharacterController before movement is applied, so isGrounded = true.
isGrounded depends on the CharacterController after movement occurs, so isGrounded = false.
Does isGrounded depend on the CharacterController before movement is applied? or after?
Read more here: Source link