{ }Blueprint → C++

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

C++
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.

Related Character & Pawn nodes

View all Character & Pawn nodes →