Unityは衝突判定を自動的に行ってくれるので、開発者はわざわざ衝突判定のコードを書く必要がありません。ControllerはデフォルトでRigidbodyがアタッチされてないことに留意する必要があり、このためデフォルトではOnCollisionやOnTriggerは呼出されない。KinematicをオンにしたRigidbodyをアタッチするかOnControllerColliderHitのいずれかで衝突判定を行うことになる。Unityは衝突判定を自動的に行ってくれるので、開発者はわざわざ衝突判定のコードを書く必要がありません。