Quadrupeds Character Controller

Is there a Character Controller equivalent for Quadrupeds?

My main character and NPCs are quadrupeds animals. I have been using the Character Collider, but the problem is that the player and the NPCs can stick their heads or tails into other characters, which I want to avoid. I tried adding Box colliders to the GameObjects, but they don't seem to work. Is there any way to change the default Character Controller collider shape? like changing the default capsule for a box collider?

Is there another way to solve this? Mesh colliders? Box colliders? Can I have both the Character Controller component and a Box Collider at the same time in the same GameObject? Is there any difference if the secondary Box Collider is attached to a child object of the one that has the Character Collider? What would I need to do at scripting level to make it work?

Any help is more than welcome.


I believe that it's only 1 Collider per GameObject. (If you try attaching a BoxCollider to an object that has a CapsuleCollider already, it'll prompt you to replace) However, that does not stop you from having sub-GameObjects that are just Colliders. That is a completely acceptable way of setting things up on your character.

MeshCollider objects will not collide with other MeshCollider objects, only primitive Colliders (Box,Sphere,Capsule... etc) unless marked convex.

--On a personal note I have found convex Colliders to act a little wonky in some instances, so avoid them if you're not familiar with how all of this stuff works.

Hope that helps.



After a really deep research on available options, the only solution I found is to sacrifice Top collisions accuracy to have side collision accuracy. This means that you can still use the CharacterController standard Unity component, and just make it a lot taller than the actual model. This will give you a better shape for side collisions although the CC collider will be a lot taller than the model, which means that top collisions will not be accurate, but at least this works fairly well. By the way, locomotion does not solve this problem, and it doesn't have anything to do with the actual CharacterController colliders. It actually uses the same Unity CharacterController component.