Sorry if it wasn’t clear. I was just trying to highlight the difference between the two.
—> LaunchCharacter
is physics based, where SetActorLocation
is not
Consider the following simple blueprint:
If I turn off gravity using the G
key, and then press F
once, my character will move at a consistent speed/velocity of 1000cm/s upward (no acceleration).
However, if I had used SetActorLocation
, when pressing G
once, my character would have only moved 1000cm up since we haven’t modified our actor velocity.
That basically highlights some of the difference between the two methods: physics
I am 99% sure the problem doesn’t come from the DashMovement
implementation itself and it’s somewhere else. Try with a gravity flip, unplug the execution of DashMovement
from SetActorLocation
, while simulating, flip gravity and press your dash key. If you still go up, it’s definitely because of something else.
While I’m at it, you could check out this thread if you haven’t already, similar topic (someone also provide a good example solution using actor location, similar to yours, fixed dash length):