Launch player at the same velocity but in a different direction (Super Mario GroundPound Leap)

I’m trying to give the player the ability to launch themselves at the same velocity with some extra height.
This works relatively well, however it does not account for the player changing the direction they are facing right before launching. This means that the player can be launched backwards if they spin around quick enough which is not desirable.

How do I make it so that they are always launched forward but still maintain their previous velocity?

P.S. The desired result is very similar to the GroundPound leap in the 3d Super Mario games

You are providing too little information of what you are trying to achieve. Is there a blueprint snapshot we can view? A code snippet?

Hey, thanks for your reply,

I realised what I’m trying to do is literally just the groundpound jump from the Super Mario games.
I have a blueprint here that shows when the player does a groundpound:

This blueprint Just checks if the player is falling at a certain height (Length of raycast) then stores their current velocity into a variable (Before GP Velocity) The launches the player towards the ground at a velocity of -2000.
Currently, this works as intended with the player stopping completely before going straight down towards the ground.

The next blueprint is for the jump which happens afterwards:

This script checks if the player is able to groundpound and, if they are, launches them into the air at a velocity of 1200 while using the same X & Y velocity as before the groundpound. This works well, however, they are always launched in the same direction they were heading before whereas I want them to always be launched wherever they are facing.
I also cannot just launch the player along their forward vector at a set velocity as it means they won’t be launched at the same speed as before the groundpound.

I hope that wasn’t too confusing, like I said, the problem appears to be with the launch character blueprint. I was wondering if there is a way to rotate the vector if that makes sense.

Thank you for your time :slight_smile:

ok, so in which dimensions is the jump happening? when you say ‘wherever they are facing’ what do you mean? Where does the character face? Up/down, left/right? both?
That’s what I meant earlier, still a bit too little information.
But it’s ok, I think I get it. Why can you not use the forward vector? It is a unity vector and determines direction a character is facing. That’s exactly what you need. Multiply it by the new velocity vector you are trying to apply just before for the launch.