This repository has been archived by the owner. It is now read-only.
Unity custom character controller
Switch branches/tags
Nothing to show
Clone or download
Latest commit 8526705 Feb 12, 2018

This project has been archived

This project is no longer being maintained. If you are searching for a robust Character Controller for Unity, I'd recommend the Kinematic Character Controller by Philippe St-Amand. Video.

Always feel free to message me about Character Controllers in Unity, or anything in else particular.


Custom Character Controller for Unity. Fulfills all common character controller functions such as collision detection and pushback, slope limiting and collider ignoring. New features include the ability to rotate the controller to any angle, ground detection, ability to clamp the character to surfaces, and detailed collision response messages. All functions are fully exposed and editable. Also includes the SuperStateMachine, a finite state machine designed to interact with the controller.

See development blog of the project here:


Open the project in Unity, demo scenes are included in the /Scenes folder.


See the sample implementation of the controller in /Scripts/PlayerMachine.cs, which also demonstrates the SuperStateMachine.


  1. Fork it
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request


See /SuperCharacterController/README.txt for all contributor credits prior to the project being uploaded to GitHub.