RealDocs

ACharacter::ServerMoveDual_Validate

function Engine Deprecated Since 4.0
Deprecated: Use ServerMovePacked() validation instead.
#include "GameFramework/Character.h"
Access: public Specifiers: deprecated

Description

Validation function for the deprecated ServerMoveDual RPC. Returns false to kick the client if the dual-move data is invalid. Part of the legacy pre-4.26 move replication path.

Caveats & Gotchas

  • Deprecated since 4.26. Validation for packed RPCs is handled inside CharacterMovementComponent.
  • Both timestamps must satisfy basic sanity checks (e.g., TimeStamp0 < TimeStamp); the default implementation does minimal validation — customise if needed.

Signature

bool ServerMoveDual_Validate(float TimeStamp0, FVector_NetQuantize10 InAccel0, uint8 PendingFlags, uint32 View0, float TimeStamp, FVector_NetQuantize10 InAccel, FVector_NetQuantize100 ClientLoc, uint8 NewFlags, uint8 ClientRoll, uint32 View, UPrimitiveComponent* ClientMovementBase, FName ClientBaseBoneName, uint8 ClientMovementMode)

Parameters

Name Type Description Default
TimeStamp0 float Timestamp of first move.
InAccel0 FVector_NetQuantize10 Acceleration for first move.
PendingFlags uint8 Flags for first move.
View0 uint32 View for first move.
TimeStamp float Timestamp of second move.
InAccel FVector_NetQuantize10 Acceleration for second move.
ClientLoc FVector_NetQuantize100 Client location.
NewFlags uint8 Flags for second move.
ClientRoll uint8 Client roll.
View uint32 View for second move.
ClientMovementBase UPrimitiveComponent* Movement base.
ClientBaseBoneName FName Base bone.
ClientMovementMode uint8 Movement mode.

Return Type

bool

Example

Validate that the dual timestamps are ordered C++
bool AMyCharacter::ServerMoveDual_Validate(
    float TimeStamp0, FVector_NetQuantize10 InAccel0, uint8 PendingFlags, uint32 View0,
    float TimeStamp, FVector_NetQuantize10 InAccel, FVector_NetQuantize100 ClientLoc,
    uint8 NewFlags, uint8 ClientRoll, uint32 View,
    UPrimitiveComponent* ClientMovementBase, FName ClientBaseBoneName, uint8 ClientMovementMode)
{
    return TimeStamp0 < TimeStamp; // Moves must be in chronological order
}

Version History

Introduced in: 4.0

Version Status Notes
5.6 deprecated

Feedback

Was this helpful?

Suggest an edit

Select a field above to begin editing.