ACharacter::ServerMoveDual
Deprecated: Use ServerMovePacked() instead.
#include "GameFramework/Character.h"
Access: public
Specifiers: UFUNCTIONdeprecated
Description
Deprecated server RPC that sends two consecutive client movement updates in a single packet to reduce per-move RPC overhead. Replaced by ServerMovePacked() since UE 4.26.
Caveats & Gotchas
- • Deprecated since 4.26. The packed RPC path (ServerMovePacked) handles dual-move batching automatically with variable payloads, making this function obsolete.
- • The dual-move path was an optimisation to batch two moves when the client runs ahead of the server tick rate; the packed path subsumes this use case transparently.
Signature
void ServerMoveDual(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 the first (older) move. | — |
| InAccel0 | FVector_NetQuantize10 | Acceleration for the first move. | — |
| PendingFlags | uint8 | Movement flags for the first move. | — |
| View0 | uint32 | View for the first move. | — |
| TimeStamp | float | Timestamp of the second (newer) move. | — |
| InAccel | FVector_NetQuantize10 | Acceleration for the second move. | — |
| ClientLoc | FVector_NetQuantize100 | Client location after second move. | — |
| NewFlags | uint8 | Movement flags for the second move. | — |
| ClientRoll | uint8 | Client roll. | — |
| View | uint32 | View for the second move. | — |
| ClientMovementBase | UPrimitiveComponent* | Movement base component. | — |
| ClientBaseBoneName | FName | Base bone name. | — |
| ClientMovementMode | uint8 | Movement mode. | — |
Return Type
void Example
This RPC is engine-internal — do not call directly C++
// CharacterMovementComponent decides whether to send ServerMove or ServerMoveDual
// based on pending saved moves. You do not call these RPCs in game code.
// Enable packed RPCs (default) and CharacterMovement handles everything:
// p.NetUsePackedMovementRPCs=1 (default) See Also
Version History
Introduced in: 4.0
| Version | Status | Notes |
|---|---|---|
| 5.6 | deprecated | — |
| 4.26 | deprecated | Deprecated in favour of ServerMovePacked. |
Feedback
Was this helpful?