UCharacterMovementComponent::ClientAdjustRootMotionSourcePosition
Deprecated: Superseded by the packed movement RPC system. Use the packed move response path (ClientHandleMoveResponse) instead.
#include "GameFramework/CharacterMovementComponent.h"
Access: public
Specifiers: virtualENGINE_APIdeprecated
Description
Legacy fixed-signature client RPC for root motion source position correction, superseded by the packed move response system routed through ClientHandleMoveResponse.
Caveats & Gotchas
- • Marked via DEPRECATED_CHARACTER_MOVEMENT_RPC(ClientAdjustRootMotionSourcePosition, ClientHandleMoveResponse) — only compiled into the active RPC path when packed movement RPCs are disabled.
- • Carries an entire FRootMotionSourceGroup over the wire with a fixed signature, which is part of why the packed replacement exists — it lets payload size vary with how many sources are active instead of always paying the fixed cost.
- • Do not call this directly; new code should reason about ClientAdjustRootMotionSourcePosition_Implementation instead.
Signature
virtual void ClientAdjustRootMotionSourcePosition(float TimeStamp, FRootMotionSourceGroup ServerRootMotion, bool bHasAnimRootMotion, float ServerMontageTrackPosition, FVector ServerLoc, FVector_NetQuantizeNormal ServerRotation, float ServerVelZ, UPrimitiveComponent* ServerBase, FName ServerBoneName, bool bHasBase, bool bBaseRelativePosition, uint8 ServerMovementMode) Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| TimeStamp | float | Client move timestamp this correction responds to. | — |
| ServerRootMotion | FRootMotionSourceGroup | Authoritative snapshot of the server's active root motion sources. | — |
| bHasAnimRootMotion | bool | Whether anim root motion was also active on the server for this move. | — |
| ServerMontageTrackPosition | float | Server's authoritative playback position in the active root motion montage, if applicable. | — |
| ServerLoc | FVector | Corrected world location from the server. | — |
| ServerRotation | FVector_NetQuantizeNormal | Corrected rotation from the server, quantized as a normal vector. | — |
| ServerVelZ | float | Corrected vertical velocity from the server. | — |
| ServerBase | UPrimitiveComponent* | Movement base the server has the character standing on, if any. | — |
| ServerBoneName | FName | Bone name on ServerBase the character is attached to, if applicable. | — |
| bHasBase | bool | Whether ServerBase is valid. | — |
| bBaseRelativePosition | bool | Whether ServerLoc is relative to ServerBase rather than world space. | — |
| ServerMovementMode | uint8 | Packed movement mode the server had at the time of correction. | — |
Return Type
void Example
Legacy RPC declaration C++
// Only relevant if packed movement RPCs are disabled (p.NetUsePackedMovementRPCs=0):
DEPRECATED_CHARACTER_MOVEMENT_RPC(ClientAdjustRootMotionSourcePosition, ClientHandleMoveResponse)
virtual void ClientAdjustRootMotionSourcePosition(float TimeStamp, FRootMotionSourceGroup ServerRootMotion,
bool bHasAnimRootMotion, float ServerMontageTrackPosition, FVector ServerLoc,
FVector_NetQuantizeNormal ServerRotation, float ServerVelZ, UPrimitiveComponent* ServerBase,
FName ServerBoneName, bool bHasBase, bool bBaseRelativePosition, uint8 ServerMovementMode); See Also
Version History
Introduced in: unknown
| Version | Status | Notes |
|---|---|---|
| 5.6 | deprecated | Superseded by packed movement RPCs; retained behind DEPRECATED_CHARACTER_MOVEMENT_RPC for legacy compatibility. |
Feedback
Was this helpful?