Hi,
I made GetAxisRaw, it’s here:
https://hutonggames.com/playmakerforum/index.php?topic=19333.0For multiple collision checks, I wrote above already to shoot several rays, like two or three downwards, use the hit property (return true when hit something) and the feed them into Bool Any True, which then returns isGrounded, if any ray hit something. The key for performance is to do such things in a single state.
Then, the jumping is another fsm, where first you listen for button down, and when pressed, you go to the check state to see if you can jump. Here you get FSM bool isGrounded, and if true proceed.
I do a short grace period there, because you want the jump to register even if the player pressed a few frames too early. To do this, use a frequent pattern: make all checks every frame and move on to jump when successful (but nothing on fail, just keep checking). Put a wait action on top with a very short grace time. If the wait time runs out without that the checks proceed, abort the jump attempt. And to be sure, you can also abort jump attempt with a Button Up. If the button is released while checking, also abort jumping.