RealDocs

ACharacter::ServerMoveNoBase

function Engine Deprecated Since 4.0
Deprecated: Use ServerMovePacked instead (packed RPC path via UCharacterMovementComponent).
#include "GameFramework/Character.h"
Access: public Specifiers: UFUNCTIONunreliableserverWithValidation

Description

Bandwidth-optimised variant of ServerMove sent by the client when the character has no movement base. Passes null for ClientMovementBase and ClientBaseBoneName, saving network bandwidth for airborne or ground characters not standing on a dynamic object.

Caveats & Gotchas

  • Deprecated in favour of ServerMovePacked. Epic marked this RPC with DEPRECATED_CHARACTER_MOVEMENT_RPC; new projects should use the packed RPC path via UCharacterMovementComponent.
  • Because it is an unreliable RPC, packets can be dropped silently. The movement correction system relies on periodic reliable corrections rather than guaranteed delivery of every move.
  • Only executes on the server; calling it directly on the client is a no-op outside of the network stack. The UFUNCTION(server) specifier routes it automatically.

Signature

ENGINE_API void ServerMoveNoBase(float TimeStamp, FVector_NetQuantize10 InAccel, FVector_NetQuantize100 ClientLoc, uint8 CompressedMoveFlags, uint8 ClientRoll, uint32 View, uint8 ClientMovementMode)

Parameters

Name Type Description Default
TimeStamp float Client timestamp for this move.
InAccel FVector_NetQuantize10 Client acceleration vector for this move.
ClientLoc FVector_NetQuantize100 Client location at end of this move.
CompressedMoveFlags uint8 Compressed movement flags (jump, crouch, etc.).
ClientRoll uint8 Client roll encoded as a byte.
View uint32 Client view direction encoded as yaw/pitch.
ClientMovementMode uint8 Client movement mode at end of this move.

Return Type

void

Example

This RPC is called internally by CharacterMovementComponent C++
// You do not call ServerMoveNoBase directly.
// CharacterMovementComponent calls it automatically when:
//   - The character has no movement base (not standing on a moving actor)
//   - The packed RPC path is disabled
// To inspect calls, override ServerMoveNoBase_Implementation in a subclass:
void AMyCharacter::ServerMoveNoBase_Implementation(
    float TimeStamp, FVector_NetQuantize10 InAccel,
    FVector_NetQuantize100 ClientLoc, uint8 CompressedMoveFlags,
    uint8 ClientRoll, uint32 View, uint8 ClientMovementMode)
{
    Super::ServerMoveNoBase_Implementation(
        TimeStamp, InAccel, ClientLoc, CompressedMoveFlags,
        ClientRoll, View, ClientMovementMode);
}

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.