RealDocs

UCharacterMovementComponent::ServerMove_PerformMovement

function Engine Since 4.26
#include "GameFramework/CharacterMovementComponent.h"
Access: public Specifiers: virtualENGINE_API

Description

Checks timestamps, derives a delta time, and forwards the move parameters to MoveAutonomous() on the server, optionally checking the final location against the client-reported location.

Caveats & Gotchas

  • This is the modern equivalent of the legacy 'ServerMove_Implementation' — the name changed but the role in the pipeline is the same.
  • Called once per logical move by ServerMove_HandleMoveData(), so it can run up to three times per RPC for dual/old moves.
  • Error checking against ClientLoc is optional and gated by ServerCheckClientError(); overriding this without preserving that call disables server-authoritative correction.

Signature

virtual void ServerMove_PerformMovement(const FCharacterNetworkMoveData& MoveData)

Parameters

Name Type Description Default
MoveData const FCharacterNetworkMoveData& A single move's data, also accessible via GetCurrentNetworkMoveData() during the call for backwards-compatible internal code.

Return Type

void

Example

Override to log per-move server processing C++
void UMyCharacterMovementComponent::ServerMove_PerformMovement(const FCharacterNetworkMoveData& MoveData)
{
    Super::ServerMove_PerformMovement(MoveData);
    UE_LOG(LogTemp, VeryVerbose, TEXT("Processed server move at time %f"), MoveData.TimeStamp);
}

Version History

Introduced in: 4.26

Version Status Notes
5.6 stable

Feedback

Was this helpful?

Suggest an edit

Select a field above to begin editing.