UCharacterMovementComponent::TickComponent
#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; See Also
Version History
Introduced in: 4.0
| Version | Status | Notes |
|---|---|---|
| 5.6 | stable | — |
Feedback
Was this helpful?