this is a first person controller system
it uses several capsule vs triangle queries to achieve a smooth and finished character feel
now we will begin decomposition of the system into its sub components
the operations in the update loop of the first person controller can be re ordered and customized as youd like
the only rule to this system is that you simply cannot add any velocity to the character after the velocity clip against the scene has happened
otherwise you will still continue to drift into objects that should be offering resistance to your movement
the operations of the character controller should otherwise continue to work correctly independently of the order that these operations are done in
each function runs independently
the system is extremely stable and difficult to break