Just a stupid question from my side. What's wrong about the built in Jump-Thru behavior? It works fine for me
In your code example the Function will be called every time the Space key gets pressed. So this should be fine. I'm not quite sure about the 'wait' action in the function.
I have something in mind that wait actions in a function can cause issues. But I'm not sure about that.
I would recommend to use following code.
GlobalVariable: IsOnJumpThru (Or boolean for the player, is up to you)
//This is simular to your function.
On Function "JumpThru" (alternative: Player is on Jumping && Trigger Once While True
- Set IsOnJumpThru to 1
- Disable Physic Collisions for Player A
- Disable Physic Collisions for Player B
//Once the jump is over (when the player was landed on the platform)
If IsOnJumpThru = 1 && Player is ladding
- Set IsOnJumpThru to 0
- Enable Physic Collisions for Player A
- Enable Physic Collisions for Player B