Is there any way to keep pawns velocity when changing possession?

Every time I try to change pawns possession, first unpossess it from player controller and then posses it with ai controller (or event posses it back to player controller), if pawn was moving in midair it loses all of its velocity and fall straight down. I also enabled “Run physics with No Controller” on Character movement component and it works if I just unpossess, but as I said the moment it gets possessed by any controller it loses its velocity. Does anyone know if there is a way to keep pawns velocity on possession? Am I missing something maybe?

Nvm found a solution. Just set pawns velocity to variable just before you possess it, and after possession set your saved velocity to pawns CharacterMovement component velocity.

1 Like

Can you precise more please ? I juste started and don’t know all the therms to use.

Hey there @CyberDB-1! Welcome to the community! So every pawn has a velocity, be it a character movement component or physics based movement. This velocity can be manipulated directly by grabbing that variable directly from the character movement (or physics component). So a simple Fire and forget possess and retain velocity would look a bit like this. I’d usually prefer setting up the logic in the different actors, but this was the quickest and easiest way to explain how you’d pull it off.

2 Likes

Thank you, it really help me !

So I just encountered this issue as well in UE 5.1.

My solution is to get the Velocity in the OnPossess Event and then apply this directly to an AddImpulse on the CharacterMovementComponent with the Velocity Change flag set.

https://blueprintue.com/render/3tvhatmp/

1 Like