Wall Climb
My Prototype

In Game Mechanic

Search For Climable Wall
It searches for the wall collision with a sphere trace, then saves those values, and uses them to snap player rotation to the wall to give the player the ability to attach to it by pressing an input key.
Make Rotation From Normal Vector Value
Attaching
The player can attach and detach from a wall climb by pressing an interactive button, this sticks them to a wall or lets them go.
Detecting Upcoming Wall
This tries to find walls close to the player in all directions to let the player either move over to it, or if it doesn't find a wall to stop the player from moving in that direction and give the player the ability to jump in that direction instead.
Movement
The movement is determined by if there is an upcoming climbable wall or if the wall ends. The movement is done by using the variables set to determine what way the player can move on the wall.
Jump Off
Jumping off a wall climb is determined by if the player is on the edge of a climbable wall or not. If the player is at the side of a wall the player jumps to the side, and if it's on the top it jumps which is set up by the detecting upcoming wall function that I showed earlier.