RealDocs

UCharacterMovementComponent::TickComponent

function Engine Since 4.0
#include "GameFramework/CharacterMovementComponent.h"
Access: public Specifiers: virtualoverride

Description

Drives the movement simulation each frame — computes acceleration and rotation for locally controlled characters, or replicates the move to the server for network clients, as described in the class's networking overview comment.

Caveats & Gotchas

  • This is the entry point for the whole client-prediction/server-correction pipeline: it calls PerformMovement() for locally controlled characters and ReplicateMoveToServer() for network clients.
  • Overriding this without calling Super::TickComponent() breaks movement, replication, and root motion entirely — there's rarely a good reason to override it instead of hooking a narrower virtual like PhysCustom or PostPhysicsTickComponent.
  • On simulated proxies, this drives SimulateMovement() instead of PerformMovement(), which uses a different (extrapolation-based) code path.

Signature

virtual void TickComponent(float DeltaTime, enum ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction) override

Parameters

Name Type Description Default
DeltaTime float Time in seconds since the last tick.
TickType enum ELevelTick The kind of tick being performed (normal, viewports-only, etc.).
ThisTickFunction FActorComponentTickFunction* The tick function that triggered this call.

Return Type

void

Example

TickComponent's role in the movement pipeline (engine-internal) C++
// Called automatically every component tick by the engine's tick manager.
// Do not call directly; instead override narrower hooks like PhysCustom() if you need
// to inject custom logic into the movement pipeline.
virtual void TickComponent(float DeltaTime, enum ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;

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.