RealDocs

ACharacter::ServerMoveDualNoBase

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

Description

Dual-move variant of ServerMoveNoBase, batching two consecutive client moves into a single RPC when neither involves a movement base. Reduces per-move RPC overhead by half when the character is airborne or on flat ground.

Caveats & Gotchas

  • Deprecated in favour of ServerMovePacked. The packed path handles dual-move batching internally and is the preferred approach in UE5+.
  • Only the final client location (ClientLoc) is sent for the second move — the intermediate location after the first move is inferred server-side, so any discontinuity between moves may be invisible to the server until the next correction.
  • Both moves share the same null base context; if the character lands on a moving base mid-dual-move, the base will not be transmitted until the next ServerMove call.

Signature

ENGINE_API void ServerMoveDualNoBase(float TimeStamp0, FVector_NetQuantize10 InAccel0, uint8 PendingFlags, uint32 View0, float TimeStamp, FVector_NetQuantize10 InAccel, FVector_NetQuantize100 ClientLoc, uint8 NewFlags, uint8 ClientRoll, uint32 View, uint8 ClientMovementMode)

Parameters

Name Type Description Default
TimeStamp0 float Timestamp of the older (pending) move.
InAccel0 FVector_NetQuantize10 Acceleration for the older move.
PendingFlags uint8 Compressed move flags for the older move.
View0 uint32 View direction for the older move.
TimeStamp float Timestamp of the newer (current) move.
InAccel FVector_NetQuantize10 Acceleration for the newer move.
ClientLoc FVector_NetQuantize100 Client location after the newer move.
NewFlags uint8 Compressed move flags for the newer move.
ClientRoll uint8 Client roll encoded as a byte.
View uint32 View direction for the newer move.
ClientMovementMode uint8 Client movement mode after the newer move.

Return Type

void

Example

Internally dispatched by CharacterMovementComponent C++
// Not called directly. CharacterMovementComponent selects
// ServerMoveDualNoBase when:
//   - Two pending moves exist with no base
//   - The packed RPC path is disabled
// To intercept, override ServerMoveDualNoBase_Implementation.

Version History

Introduced in: 4.0

Version Status Notes
5.6 stable

Feedback

Was this helpful?

Suggest an edit

Select a field above to begin editing.