ACharacter::ServerMove
Deprecated: Use ServerMovePacked() instead.
#include "GameFramework/Character.h"
Access: public
Specifiers: UFUNCTIONdeprecated
Description
Deprecated server RPC that sends a single client movement update to the server. Replaced by ServerMovePacked() since UE 4.26 for better bandwidth efficiency via variable-size payloads.
Caveats & Gotchas
- • Deprecated since 4.26 — requires SUPPORT_DEPRECATED_CHARACTER_MOVEMENT_RPCS=1 and p.NetUsePackedMovementRPCs=0 to remain functional. New projects should use ServerMovePacked instead.
- • This is an unreliable RPC; moves can be dropped. The client maintains a SavedMoves list to re-send if the server does not acknowledge receipt, so missing single packets is expected and handled — but high packet loss will still degrade movement quality.
Signature
void ServerMove(float TimeStamp, FVector_NetQuantize10 InAccel, FVector_NetQuantize100 ClientLoc, uint8 CompressedMoveFlags, uint8 ClientRoll, uint32 View, UPrimitiveComponent* ClientMovementBase, FName ClientBaseBoneName, uint8 ClientMovementMode) Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| TimeStamp | float | Client-side timestamp of the move. | — |
| InAccel | FVector_NetQuantize10 | Compressed client acceleration vector. | — |
| ClientLoc | FVector_NetQuantize100 | Compressed client location at move time. | — |
| CompressedMoveFlags | uint8 | Bit-packed movement flags (sprinting, crouching, etc.). | — |
| ClientRoll | uint8 | Compressed client roll. | — |
| View | uint32 | Compressed client view pitch and yaw. | — |
| ClientMovementBase | UPrimitiveComponent* | Component the client is standing on, if any. | — |
| ClientBaseBoneName | FName | Bone name on the base component. | — |
| ClientMovementMode | uint8 | Compressed client movement mode enum. | — |
Return Type
void Example
Why you should use ServerMovePacked instead C++
// WRONG — do not call ServerMove directly; it is managed by CharacterMovementComponent
// Use the packed variant pathway instead:
// In your Game.Build.cs or DefaultEngine.ini, ensure p.NetUsePackedMovementRPCs=1 (default)
// CharacterMovement will call ServerMovePacked automatically. See Also
Version History
Introduced in: 4.0
| Version | Status | Notes |
|---|---|---|
| 5.6 | deprecated | Superseded by ServerMovePacked. |
| 4.26 | deprecated | Deprecated in favour of packed RPC. |
Feedback
Was this helpful?