UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FSavedMove_Character Class Reference

#include <CharacterMovementComponent.h>

+ Inheritance diagram for FSavedMove_Character:

Public Types

enum  EPostUpdateMode { PostUpdate_Record , PostUpdate_Replay }
 
enum  CompressedFlags {
  FLAG_JumpPressed = 0x01 , FLAG_WantsToCrouch = 0x02 , FLAG_Reserved_1 = 0x04 , FLAG_Reserved_2 = 0x08 ,
  FLAG_Custom_0 = 0x10 , FLAG_Custom_1 = 0x20 , FLAG_Custom_2 = 0x40 , FLAG_Custom_3 = 0x80
}
 

Public Member Functions

ENGINE_API FSavedMove_Character ()
 
virtual ENGINE_API ~FSavedMove_Character ()
 
 FSavedMove_Character (const FSavedMove_Character &)
 
 FSavedMove_Character (FSavedMove_Character &&)
 
FSavedMove_Characteroperator= (const FSavedMove_Character &)
 
FSavedMove_Characteroperator= (FSavedMove_Character &&)
 
virtual ENGINE_API void Clear ()
 
virtual ENGINE_API void SetMoveFor (ACharacter *C, float InDeltaTime, FVector const &NewAccel, class FNetworkPredictionData_Client_Character &ClientData)
 
virtual ENGINE_API void SetInitialPosition (ACharacter *C)
 
virtual ENGINE_API bool IsImportantMove (const FSavedMovePtr &LastAckedMove) const
 
virtual ENGINE_API FVector GetRevertedLocation () const
 
virtual ENGINE_API void PostUpdate (ACharacter *C, EPostUpdateMode PostUpdateMode)
 
virtual ENGINE_API bool CanCombineWith (const FSavedMovePtr &NewMove, ACharacter *InCharacter, float MaxDelta) const
 
virtual ENGINE_API void CombineWith (const FSavedMove_Character *OldMove, ACharacter *InCharacter, APlayerController *PC, const FVector &OldStartLocation)
 
virtual ENGINE_API void PrepMoveFor (ACharacter *C)
 
virtual ENGINE_API uint8 GetCompressedFlags () const
 
virtual ENGINE_API bool IsMatchingStartControlRotation (const APlayerController *PC) const
 
virtual ENGINE_API void GetPackedAngles (uint32 &YawAndPitchPack, uint8 &RollPack) const
 
virtual ENGINE_API void AddStructReferencedObjects (FReferenceCollector &Collector) const
 
- Public Member Functions inherited from FSavedMove_Character_FixLayout
virtual ~FSavedMove_Character_FixLayout ()=default
 

Public Attributes

ACharacterCharacterOwner
 
uint8 bPressedJump:1
 
uint8 bWantsToCrouch:1
 
uint8 bForceMaxAccel:1
 
uint8 bForceNoCombine:1
 
uint8 bOldTimeStampBeforeReset:1
 
uint8 bWasJumping:1
 
uint8 MovementMode
 
uint8 StartPackedMovementMode
 
uint8 EndPackedMovementMode
 
float TimeStamp
 
float DeltaTime
 
float CustomTimeDilation
 
float JumpKeyHoldTime
 
float JumpForceTimeRemaining
 
int32 JumpMaxCount
 
int32 JumpCurrentCount
 
FVector StartLocation
 
FVector StartRelativeLocation
 
FVector StartVelocity
 
FFindFloorResult StartFloor
 
FRotator StartRotation
 
FRotator StartControlRotation
 
FQuat StartBaseRotation
 
float StartCapsuleRadius
 
float StartCapsuleHalfHeight
 
TWeakObjectPtr< UPrimitiveComponent > StartBase
 
FName StartBoneName
 
uint32 StartActorOverlapCounter
 
uint32 StartComponentOverlapCounter
 
TWeakObjectPtr< USceneComponent > StartAttachParent
 
FName StartAttachSocketName
 
FVector StartAttachRelativeLocation
 
FRotator StartAttachRelativeRotation
 
FVector SavedLocation
 
FRotator SavedRotation
 
FVector SavedVelocity
 
FVector SavedRelativeLocation
 
FVector SavedRelativeAcceleration
 
FRotator SavedControlRotation
 
TWeakObjectPtr< UPrimitiveComponent > EndBase
 
FName EndBoneName
 
uint32 EndActorOverlapCounter
 
uint32 EndComponentOverlapCounter
 
TWeakObjectPtr< USceneComponent > EndAttachParent
 
FName EndAttachSocketName
 
FVector EndAttachRelativeLocation
 
FRotator EndAttachRelativeRotation
 
FVector Acceleration
 
float MaxSpeed
 
FVector AccelNormal
 
float AccelMag
 
TWeakObjectPtr< class UAnimMontageRootMotionMontage
 
float RootMotionTrackPosition
 
float RootMotionPreviousTrackPosition
 
float RootMotionPlayRateWithScale
 
FRootMotionMovementParams RootMotionMovement
 
FRootMotionSourceGroup SavedRootMotion
 
float AccelDotThreshold
 
float AccelMagThreshold
 
float AccelDotThresholdCombine
 
float MaxSpeedThresholdCombine
 

Detailed Description

FSavedMove_Character represents a saved move on the client that has been sent to the server and might need to be played back.

Member Enumeration Documentation

◆ CompressedFlags

Enumerator
FLAG_JumpPressed 
FLAG_WantsToCrouch 
FLAG_Reserved_1 
FLAG_Reserved_2 
FLAG_Custom_0 
FLAG_Custom_1 
FLAG_Custom_2 
FLAG_Custom_3 

◆ EPostUpdateMode

Enumerator
PostUpdate_Record 
PostUpdate_Replay 

Constructor & Destructor Documentation

◆ FSavedMove_Character() [1/3]

FSavedMove_Character::FSavedMove_Character ( )

◆ ~FSavedMove_Character()

FSavedMove_Character::~FSavedMove_Character ( )
virtual

◆ FSavedMove_Character() [2/3]

PRAGMA_DISABLE_DEPRECATION_WARNINGS FSavedMove_Character::FSavedMove_Character ( const FSavedMove_Character )
inlinedefault

◆ FSavedMove_Character() [3/3]

FSavedMove_Character::FSavedMove_Character ( FSavedMove_Character &&  )
inlinedefault

Member Function Documentation

◆ AddStructReferencedObjects()

void FSavedMove_Character::AddStructReferencedObjects ( FReferenceCollector Collector) const
virtual

Allows references to be considered during GC

◆ CanCombineWith()

bool FSavedMove_Character::CanCombineWith ( const FSavedMovePtr NewMove,
ACharacter InCharacter,
float  MaxDelta 
) const
virtual

Returns true if this move can be combined with NewMove for replication without changing any behavior

◆ Clear()

void FSavedMove_Character::Clear ( )
virtual

Clear saved move properties, so it can be re-used.

◆ CombineWith()

void FSavedMove_Character::CombineWith ( const FSavedMove_Character OldMove,
ACharacter InCharacter,
APlayerController PC,
const FVector OldStartLocation 
)
virtual

Combine this move with an older move and update relevant state.

◆ GetCompressedFlags()

uint8 FSavedMove_Character::GetCompressedFlags ( ) const
virtual

Returns a byte containing encoded special movement information (jumping, crouching, etc.)

◆ GetPackedAngles()

void FSavedMove_Character::GetPackedAngles ( uint32 YawAndPitchPack,
uint8 RollPack 
) const
virtual

Packs control rotation for network transport

◆ GetRevertedLocation()

FVector FSavedMove_Character::GetRevertedLocation ( ) const
virtual

Returns starting position if we were to revert the move, either absolute StartLocation, or StartRelativeLocation offset from MovementBase's current location (since we want to try to move forward at this time).

◆ IsImportantMove()

bool FSavedMove_Character::IsImportantMove ( const FSavedMovePtr LastAckedMove) const
virtual

Returns true if this move is an "important" move that should be sent again if not acked by the server

◆ IsMatchingStartControlRotation()

bool FSavedMove_Character::IsMatchingStartControlRotation ( const APlayerController PC) const
virtual

Compare current control rotation with stored starting data

◆ operator=() [1/2]

FSavedMove_Character & FSavedMove_Character::operator= ( const FSavedMove_Character )
inlinedefault

◆ operator=() [2/2]

FSavedMove_Character & FSavedMove_Character::operator= ( FSavedMove_Character &&  )
inlinedefault

◆ PostUpdate()

void FSavedMove_Character::PostUpdate ( ACharacter C,
FSavedMove_Character::EPostUpdateMode  PostUpdateMode 
)
virtual

Set the properties describing the final position, etc. of the moved pawn.

◆ PrepMoveFor()

void FSavedMove_Character::PrepMoveFor ( ACharacter C)
virtual

Called before ClientUpdatePosition uses this SavedMove to make a predictive correction

◆ SetInitialPosition()

void FSavedMove_Character::SetInitialPosition ( ACharacter C)
virtual

Set the properties describing the position, etc. of the moved pawn at the start of the move.

◆ SetMoveFor()

void FSavedMove_Character::SetMoveFor ( ACharacter C,
float  InDeltaTime,
FVector const &  NewAccel,
class FNetworkPredictionData_Client_Character ClientData 
)
virtual

Called to set up this saved move (when initially created) to make a predictive correction.

Member Data Documentation

◆ AccelDotThreshold

float FSavedMove_Character::AccelDotThreshold

Threshold for deciding this is an "important" move based on DP with last acked acceleration.

◆ AccelDotThresholdCombine

float FSavedMove_Character::AccelDotThresholdCombine

Threshold for deciding if we can combine two moves, true if cosine of angle between them is <= this.

◆ Acceleration

FVector FSavedMove_Character::Acceleration

◆ AccelMag

float FSavedMove_Character::AccelMag

◆ AccelMagThreshold

float FSavedMove_Character::AccelMagThreshold

Threshold for deciding is this is an important move because acceleration magnitude has changed too much

◆ AccelNormal

FVector FSavedMove_Character::AccelNormal

◆ bForceMaxAccel

uint8 FSavedMove_Character::bForceMaxAccel

◆ bForceNoCombine

uint8 FSavedMove_Character::bForceNoCombine

If true, can't combine this move with another move.

◆ bOldTimeStampBeforeReset

uint8 FSavedMove_Character::bOldTimeStampBeforeReset

If true this move is using an old TimeStamp, before a reset occurred.

◆ bPressedJump

uint8 FSavedMove_Character::bPressedJump

◆ bWantsToCrouch

uint8 FSavedMove_Character::bWantsToCrouch

◆ bWasJumping

uint8 FSavedMove_Character::bWasJumping

◆ CharacterOwner

ACharacter* FSavedMove_Character::CharacterOwner

◆ CustomTimeDilation

float FSavedMove_Character::CustomTimeDilation

◆ DeltaTime

float FSavedMove_Character::DeltaTime

◆ EndActorOverlapCounter

uint32 FSavedMove_Character::EndActorOverlapCounter

◆ EndAttachParent

TWeakObjectPtr<USceneComponent> FSavedMove_Character::EndAttachParent

◆ EndAttachRelativeLocation

FVector FSavedMove_Character::EndAttachRelativeLocation

◆ EndAttachRelativeRotation

FRotator FSavedMove_Character::EndAttachRelativeRotation

◆ EndAttachSocketName

FName FSavedMove_Character::EndAttachSocketName

◆ EndBase

TWeakObjectPtr<UPrimitiveComponent> FSavedMove_Character::EndBase

◆ EndBoneName

FName FSavedMove_Character::EndBoneName

◆ EndComponentOverlapCounter

uint32 FSavedMove_Character::EndComponentOverlapCounter

◆ EndPackedMovementMode

uint8 FSavedMove_Character::EndPackedMovementMode

◆ JumpCurrentCount

int32 FSavedMove_Character::JumpCurrentCount

◆ JumpForceTimeRemaining

float FSavedMove_Character::JumpForceTimeRemaining

◆ JumpKeyHoldTime

float FSavedMove_Character::JumpKeyHoldTime

◆ JumpMaxCount

int32 FSavedMove_Character::JumpMaxCount

◆ MaxSpeed

float FSavedMove_Character::MaxSpeed

◆ MaxSpeedThresholdCombine

float FSavedMove_Character::MaxSpeedThresholdCombine

Client saved moves will not combine if the result of GetMaxSpeed() differs by this much between moves.

◆ MovementMode

uint8 FSavedMove_Character::MovementMode

◆ RootMotionMontage

TWeakObjectPtr<class UAnimMontage> FSavedMove_Character::RootMotionMontage
mutable

◆ RootMotionMovement

FRootMotionMovementParams FSavedMove_Character::RootMotionMovement

◆ RootMotionPlayRateWithScale

float FSavedMove_Character::RootMotionPlayRateWithScale

◆ RootMotionPreviousTrackPosition

float FSavedMove_Character::RootMotionPreviousTrackPosition

◆ RootMotionTrackPosition

float FSavedMove_Character::RootMotionTrackPosition

◆ SavedControlRotation

FRotator FSavedMove_Character::SavedControlRotation

◆ SavedLocation

FVector FSavedMove_Character::SavedLocation

◆ SavedRelativeAcceleration

FVector FSavedMove_Character::SavedRelativeAcceleration

◆ SavedRelativeLocation

FVector FSavedMove_Character::SavedRelativeLocation

◆ SavedRootMotion

FRootMotionSourceGroup FSavedMove_Character::SavedRootMotion

◆ SavedRotation

FRotator FSavedMove_Character::SavedRotation

◆ SavedVelocity

FVector FSavedMove_Character::SavedVelocity

◆ StartActorOverlapCounter

uint32 FSavedMove_Character::StartActorOverlapCounter

◆ StartAttachParent

TWeakObjectPtr<USceneComponent> FSavedMove_Character::StartAttachParent

◆ StartAttachRelativeLocation

FVector FSavedMove_Character::StartAttachRelativeLocation

◆ StartAttachRelativeRotation

FRotator FSavedMove_Character::StartAttachRelativeRotation

◆ StartAttachSocketName

FName FSavedMove_Character::StartAttachSocketName

◆ StartBase

TWeakObjectPtr<UPrimitiveComponent> FSavedMove_Character::StartBase

◆ StartBaseRotation

FQuat FSavedMove_Character::StartBaseRotation

◆ StartBoneName

FName FSavedMove_Character::StartBoneName

◆ StartCapsuleHalfHeight

float FSavedMove_Character::StartCapsuleHalfHeight

◆ StartCapsuleRadius

float FSavedMove_Character::StartCapsuleRadius

◆ StartComponentOverlapCounter

uint32 FSavedMove_Character::StartComponentOverlapCounter

◆ StartControlRotation

FRotator FSavedMove_Character::StartControlRotation

◆ StartFloor

FFindFloorResult FSavedMove_Character::StartFloor

◆ StartLocation

FVector FSavedMove_Character::StartLocation

◆ StartPackedMovementMode

uint8 FSavedMove_Character::StartPackedMovementMode

◆ StartRelativeLocation

FVector FSavedMove_Character::StartRelativeLocation

◆ StartRotation

FRotator FSavedMove_Character::StartRotation

◆ StartVelocity

FVector FSavedMove_Character::StartVelocity

◆ TimeStamp

float FSavedMove_Character::TimeStamp

The documentation for this class was generated from the following files: