ACharacter::ServerMoveNoBase
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);
} See Also
Version History
Introduced in: 4.0
| Version | Status | Notes |
|---|---|---|
| 5.6 | stable | — |
Feedback
Was this helpful?