Unwanted diagonal movement when launching

Hi and potentially thank you.

I’m using a launch character in place of the default jump behavior. I have a vector curve that I’m using to hold float values. The Z plugs directly into launch Z, the Y is used as a clamp for the X and Y values which are velocity length multiplied by movement axis values. Since they are either -1,0, or 1 the X and Y values should be zero unless the button is being pushed. However, if I Jump sideways and then jump forwards the jump lists to the left/right and I can’t figure out why. I’m clearing the X and Y values on land (I even tried clearing them right before the set nodes in the BP) but it’s still happening.

What am I missing/ what have I trucked up?

I appreciate any and all time invested in helping my dumb self.

What if you tick the overrides on the Launch Character node?

It stops all movement in x/y. Only launches up. regardless of values.

Edit: Unless set pretty high.

One thing that immediately jumps (ehm) at me is the way the way Timer + Launch are used together here. I assume the point of the setup is to direct the player mid-flight / alter their trajectory, right?

Would it be more sensible to launch them once and then add to the movement vector, as in:

Repeatedly calling Launch Character probably does unspeakable things to the movement component updates. As in, the movement vectors are always accumulated to be eventually processed this tick. But then you have the timer muddling everything up.


You could also fiddle directly with velocity which should safely (safer) override whatever updates character movement component is yet to process, as in:

And here’s another method for jumping using Jump rather than Launch Character


I may be misunderstanding what you’re up to, though.

I’m trying to replicate the Jump hold time on the default jump, So the longer you hold down the button the higher you jump. But I want more control over the arc, which I don’t think you can do using the default because the Z-velocity there is only at the moment of launch.

The curve drops off rapidly so I get a fast initial burst but after about .3 seconds there wouldn’t be enough force to lift the character up. I’ll try zeroing out velocity manually after my variables are set and see if that does it. I hadn’t thought of doing that.

I am actually stupid.

I was setting the variables AFTER the timer had started. Changing the order fixed the problem.

Thanks for the help, bud.