Limited Strafe Jump (Left or Right Only) Blueprint?

I don’t know how Unreal Tournament does it, and I’ve never done it, but if I were making this feature from “scratch”, I would probably take the following approach:

  1. Get a double-click detection working: Map input ACTIONS for the two strafe directions (this is in addition to the normal strafe movement input AXES), on the Input ACTION events, subtract a variable “StrafeActionTime” from the current Game Time. If the difference is small enough, then it counts as a double-click, so you run the StrafeJump function you’re going to build. If not, do nothing but set the StrafeActionTime to the current game time (do this after checking the subtraction not matter which way the Branch goes).
  2. In the StrafeJump function, Take a variable, such as an enum or a bool, as an input pin, and use that to decide whether we’re going right or left. (enum is good if you want to expand it to other directions later). Add a Launch Character node where the Z part of the vector is a small number and the X and Y are determined by the Character’s Actor Rotation or the playercontroller’s Control Rotation. From one of those, → GetRightVector (multiply by -1 if jumping left, use returned value as-is for jumping right), and Make Vector where you plug in the X and Y from that jump direction you calculated, and the Z is just that small positive number that makes sure you get off the ground high enough to complete the strafe jump.
  3. You might need to temporarily alter some character movement variables such as air control velocity etc until the character has Landed event fires at which point you restore them to their original values. I would try it only doing steps 1 and 2 first and see if you like how it works. You might not need this step 3.