ACharacter::ServerMoveDual_Validate
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?