Unreal Engine 5 · Blueprint → C++
Add Movement Input in Unreal Engine 5 C++UE Docs
The Add Movement Input Blueprint node maps to APawn::AddMovementInput(WorldDirection, ScaleValue) in Unreal Engine 5 C++, which feeds a movement request into the pawn's movement component.
Blueprint node & C++ equivalent
AddMovementInput(GetActorForwardVector(), /*ScaleValue=*/1.0f);What does the Add Movement Input node do?
Add Movement Input accumulates a movement request for the current frame. It takes a world-space direction and a scalar value, then the pawn's movement component consumes that accumulated input when it ticks. It does not directly set velocity; it expresses intent that gets processed into actual motion.
In the example, GetActorForwardVector() supplies the world direction and 1.0f is the full-strength scale, so the pawn is asked to move forward at full input this frame.
The C++ equivalent
Call AddMovementInput(WorldDirection, ScaleValue, bForce) directly on any APawn subclass. The function is declared on APawn, so both ACharacter and custom pawns inherit it. The direction vector's magnitude matters: it is multiplied by ScaleValue and accumulated, so pass a unit-length direction and let the scale value carry the strength.
Typical usage binds this to an input axis: pass the desired direction (forward, right, or a control-rotation-derived vector) and pass the axis value as the scale so the analog stick controls speed.
Common mistakes
A frequent error is expecting AddMovementInput to move a pawn that has no movement component, or one whose component is not configured to consume input. For default character movement to apply the input, the pawn must possess a UCharacterMovementComponent (or compatible movement component) and be possessed by a controller.
Passing an already-scaled direction and a non-1.0 scale together double-applies magnitude, which can make movement faster than intended.
Frequently asked questions
What is the C++ equivalent of Add Movement Input in UE5?+
It is APawn::AddMovementInput(WorldDirection, ScaleValue). It adds a world-space movement request that the pawn's movement component applies on its next update.
Does AddMovementInput set velocity directly?+
No. It accumulates input that the movement component processes. The component decides final velocity based on acceleration, max speed and other settings.