Why isn't StopMovement preventing character motion?

I’m trying to build a function that loads a new area and teleports the player to their starting position, as you would expect doors and other entrances/exits to do. I accomplish this by stopping the player’s motion, spawning the level, then teleporting them:

Even though I’m stopping the player before they teleport, I’ve found that inertia will carry over if they’re moving fast enough when they hit the door, and doing stupid things like jumping just before using the door will load them into midair in the new level. Is there a simple method I’m missing to completely freeze them in place to guarantee that they load into new areas at the exact same location every time?

Have you tried setting the velocity to 0, 0, 0? Or to have an easier time try “Stop Movement Immediately”. That node tries to completely block any movement / velocity and such to bring you to an instant state of stillness.

I’m not entirely sure anymore but iirc “Stop Movement” is a function from the character movement component which blocks new input but doesn’t actually affect current momentum.

Ooh hey, that does it perfectly! Thank you for the idea; I never considered addressing it directly through the movement component instead of through the controller :slight_smile: