RealDocs

UCharacterMovementComponent::ServerMovePacked_ClientSend

function Engine Since 4.26
#include "GameFramework/CharacterMovementComponent.h"
Access: public Specifiers: ENGINE_API

Description

On the client, wraps the packed move bitstream and forwards it through the owning Character's ServerMove RPC to the server, avoiding per-component RPC overhead.

Caveats & Gotchas

  • Only used when ShouldUsePackedMovementRPCs() returns true; the legacy per-parameter ServerMove RPCs are used otherwise.
  • The actual bit-packing happens earlier in CallServerMovePacked(); this function is purely a client-to-server transport wrapper.
  • Requires CharacterOwner to be valid since the RPC is routed through ACharacter, not called directly on the component.

Signature

void ServerMovePacked_ClientSend(const FCharacterServerMovePackedBits& PackedBits)

Parameters

Name Type Description Default
PackedBits const FCharacterServerMovePackedBits& The serialized bitstream for the current client move, produced by GetNetworkMoveDataContainer().

Return Type

void

Example

Typical call path (engine-internal) C++
// Called from CallServerMovePacked() after filling and serializing move data:
GetNetworkMoveDataContainer().ClientFillNetworkMoveData(NewMove, PendingMove, OldMove);
FCharacterServerMovePackedBits PackedBits = GetNetworkMoveDataContainer().ClientPack(*this);
ServerMovePacked_ClientSend(PackedBits);

Version History

Introduced in: 4.26

Version Status Notes
5.6 stable

Feedback

Was this helpful?

Suggest an edit

Select a field above to begin editing.