The player movement mechanics use the native Platform Behaviour and some custom elements.
For example I have the default doubleJump disabled in the Platform Behaviour, and I made my own doubleJump mechanics by setting Platform VectorY and also setting / toggling instance variables / booleans. I did that to get the doubleJump working in concert with dashing the way I wanted it to.
I make use of stacks of the Platform Behaviour conditions and actions to get the player character to move the way I wanted.
Hope that helps. Let me know if you wanted to know anything more specific. And thanks for the positive feedback.
Im working on updates to the game now. I have to make adjustable touch controls... hmm