RealDocs

UCharacterMovementComponent::ClientVeryShortAdjustPosition_Implementation

function Engine Since 4.0
#include "GameFramework/CharacterMovementComponent.h"
Access: public Specifiers: virtual

Description

Implementation body for the legacy ClientVeryShortAdjustPosition RPC, applying a bandwidth-saving position-only correction (velocity assumed zero) to the local client.

Caveats & Gotchas

  • Part of the legacy, non-packed movement RPC path — engines with the default packed movement RPCs enabled (p.NetUsePackedMovementRPCs=1) route corrections through ClientHandleMoveResponse() instead, so this is rarely invoked in modern projects.
  • Only reached when the ClientVeryShortAdjustPosition RPC actually fires, which itself is deprecated in favor of the packed move-response path.
  • Unlike ClientAdjustPosition_Implementation, this variant does not include a velocity parameter — velocity is assumed to be zero after the correction.

Signature

virtual void ClientVeryShortAdjustPosition_Implementation(float TimeStamp, FVector NewLoc, UPrimitiveComponent* NewBase, FName NewBaseBoneName, bool bHasBase, bool bBaseRelativePosition, uint8 ServerMovementMode)

Parameters

Name Type Description Default
TimeStamp float Client timestamp of the move being corrected.
NewLoc FVector Authoritative server location.
NewBase UPrimitiveComponent* Server's movement base at the time of correction, if any.
NewBaseBoneName FName Bone name on the server's movement base, if it's a skeletal mesh.
bHasBase bool Whether the server considers the character based on something.
bBaseRelativePosition bool Whether NewLoc is relative to the base rather than world space.
ServerMovementMode uint8 Packed server movement mode to apply during the correction.

Return Type

void

Example

Legacy RPC dispatch (engine-internal) C++
// Called on the client in response to the deprecated ClientVeryShortAdjustPosition RPC.
// Not intended to be called directly from game code.
void UCharacterMovementComponent::ClientVeryShortAdjustPosition_Implementation(
    float TimeStamp, FVector NewLoc, UPrimitiveComponent* NewBase,
    FName NewBaseBoneName, bool bHasBase, bool bBaseRelativePosition, uint8 ServerMovementMode)
{
    // Applies NewLoc as an authoritative correction with zero velocity.
}

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.