RealDocs

UCharacterMovementComponent::ServerCorrectionRootMotion

property Engine Since 4.20
#include "GameFramework/CharacterMovementComponent.h"
Access: public Specifiers: UPROPERTY(Transient)

Description

Holds the root motion source group received from the server that is used to correct the client's CurrentRootMotion during a network correction.

Caveats & Gotchas

  • Transient and repopulated per-correction; it isn't meaningful to read outside of the correction pipeline.
  • Root motion source IDs in this group are server-relative until reconciled against the client's own IDs via ConvertRootMotionServerIDsToLocalIDs().
  • Only populated when the client is correcting an authoritative root motion state, which is uncommon outside of root-motion-driven abilities.

Signature

UPROPERTY(Transient)
FRootMotionSourceGroup ServerCorrectionRootMotion;

Example

Inspect during a client correction override C++
void UMyCharacterMovementComponent::ClientAdjustRootMotionSourcePosition_Implementation(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)
{
    ServerCorrectionRootMotion = ServerRootMotion;
    Super::ClientAdjustRootMotionSourcePosition_Implementation(TimeStamp, ServerRootMotion, bHasAnimRootMotion, ServerMontageTrackPosition, ServerLoc, ServerRotation, ServerVelZ, ServerBase, ServerBoneName, bHasBase, bBaseRelativePosition, ServerMovementMode);
}

Version History

Introduced in: 4.20

Version Status Notes
5.6 stable

Feedback

Was this helpful?

Suggest an edit

Select a field above to begin editing.