when in the Climb_Idle state, if the stick input X is greater than 0.2 or less than -0.2, then do some traces to decide which animation to play, and change the animation state to Climb_Busy, which can choose which climbing animation to play. the speed of the animation can be based on the absolute value of the control stick, and when in Climb_Busy mode, you can ignore directional input, but you might want to allow dropping down. using GetRelevantAnimTimeRemaining, you can transition back to the Climb_Idle state when the animation completes.