RealDocs

ACharacter::K2_UpdateCustomMovement

function Engine Blueprint Since 4.0
#include "GameFramework/Character.h"
Access: public Specifiers: UFUNCTIONBlueprintImplementableEventENGINE_API

Description

BlueprintImplementableEvent called each frame while the character's movement mode is set to Custom. Implement this to define custom physics in Blueprint without subclassing the movement component.

Caveats & Gotchas

  • This event only fires when MovementMode == MOVE_Custom. You must explicitly set the character's movement mode to Custom (e.g. GetCharacterMovement()->SetMovementMode(MOVE_Custom, MyCustomModeIndex)) for this to be called.
  • For performance-sensitive or complex custom movement, Epic recommends overriding UCharacterMovementComponent::PhysCustom() in C++ instead. Blueprint custom movement runs after the main movement tick and can produce latency in network correction.

Signature

ENGINE_API void K2_UpdateCustomMovement(float DeltaTime);

Parameters

Name Type Description Default
DeltaTime float Delta time in seconds for this movement update.

Return Type

void

Example

Implement a zero-gravity glide mode in Blueprint text
// 1. Set movement mode to Custom (index 0) when glide starts:
//    GetCharacterMovement → SetMovementMode(Custom, 0)
// 2. Override UpdateCustomMovement event in the Character Blueprint:
//    Compute a gentle forward velocity; set via GetCharacterMovement → Velocity.
// 3. Reset movement mode to Walking when glide ends.

Version History

Introduced in: 4.0

Version Status Notes
5.6 stable

Feedback

Was this helpful?

Suggest an edit

Select a field above to begin editing.