This is a clean implementation of character controller made with state machine and a custom state machine editor window