Day 3 (really day 4): CharacterControllers, Rigidbodies and Colliders

Today, I wanted to understand the difference between all of these concepts. Some Internet research helps but provides conflicting opinions, so tomorrow when I have access to my Unity in Action book, I’ll have more definitive answers. So far here’s what I’ve learned:


CharacterControllers come with a collider that allows it to register collisions (simply register, not react with physics, though it will edge away from it). Because they don’t react to physics but have colliders, they are especially helpful for moving characters, since characters typically move in unnatural ways (like move quickly, jump high, etc.) and shouldn’t go through things.


Rigidbodies are components that cause the game object to be at the mercy of the physics engine — it obeys the laws of physics like gravity. They have an isKinematic option that means it doesn’t respond to physics — but then why have it?


Colliders register collisions with other colliders and edge away from it. They have a isTrigger property that means it doesn’t cause physical collisions but it will register collisions.

Further exploration:

  • Layers