If he is not climbing, check if up or down key was pressed. If it was, set "he is climbing" and prevent falling.

If he is climbing set x speed and y speed to zero, then if any of the arrow keys are down set x-speed and y-speed to a fixed amount depending on which keys are down.

Basically I would make the ladder an actor, set the collision to type sensor, set it to cannot move, and make a separate collision group for ladders which only the player can collide with.Then for the player you need a behaviour. This shouldn't be so different from wall climbing:If the player is colliding with a ladder and he is not jumping:If he is jumping you should set "is climbing" to false.There might be some things to add for when the player falls off the ladder, or he collides with a wall, (if you use wall sliding/jumping) when the ladder is next to a wall. It will also be easier to have a separate jump key and climb key, especially if the character is supposed to be able to jump from the ladder. I don't have too much time now, and I don't think I can think this through without doing it, there might be depencies in other movement behaviours. But you should try it out and then post what you got.-- Edit:You might want to put what i wrote outside the collision behaviour. In the colliding with ladder-group behaviour, only set an attribute "collided with ladder" to true, then in a "when updating" behaviour you unset collided at the end. Otherwise there would be no way of unsetting collided, as the collision block would never be called.