UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FCharacterNetworkMoveDataContainer Struct Reference

#include <CharacterMovementReplication.h>

Public Member Functions

 FCharacterNetworkMoveDataContainer ()
 
virtual ~FCharacterNetworkMoveDataContainer ()
 
virtual ENGINE_API void ClientFillNetworkMoveData (const FSavedMove_Character *ClientNewMove, const FSavedMove_Character *ClientPendingMove, const FSavedMove_Character *ClientOldMove)
 
virtual ENGINE_API bool Serialize (UCharacterMovementComponent &CharacterMovement, FArchive &Ar, UPackageMap *PackageMap)
 
FCharacterNetworkMoveDataGetNewMoveData () const
 
FCharacterNetworkMoveDataGetPendingMoveData () const
 
FCharacterNetworkMoveDataGetOldMoveData () const
 

Public Attributes

bool bHasPendingMove
 
bool bIsDualHybridRootMotionMove
 
bool bHasOldMove
 
bool bDisableCombinedScopedMove
 

Protected Attributes

FCharacterNetworkMoveDataNewMoveData
 
FCharacterNetworkMoveDataPendingMoveData
 
FCharacterNetworkMoveDataOldMoveData
 

Detailed Description

Struct used for network RPC parameters between client/server by ACharacter and UCharacterMovementComponent. To extend network move data and add custom parameters, you typically override this struct with a custom derived struct and set the CharacterMovementComponent to use your container with UCharacterMovementComponent::SetNetworkMoveDataContainer(). Your derived struct would then typically (in the constructor) replace the NewMoveData, PendingMoveData, and OldMoveData pointers to use your own instances of a struct derived from FCharacterNetworkMoveData, where you add custom fields and implement custom serialization to be able to pack and unpack your own additional data.

See also
UCharacterMovementComponent::SetNetworkMoveDataContainer()

Constructor & Destructor Documentation

◆ FCharacterNetworkMoveDataContainer()

FCharacterNetworkMoveDataContainer::FCharacterNetworkMoveDataContainer ( )
inline

Default constructor. Sets data storage (NewMoveData, PendingMoveData, OldMoveData) to point to default data members. Override those pointers to instead point to custom data if you want to use derived classes.

◆ ~FCharacterNetworkMoveDataContainer()

virtual FCharacterNetworkMoveDataContainer::~FCharacterNetworkMoveDataContainer ( )
inlinevirtual

Member Function Documentation

◆ ClientFillNetworkMoveData()

void FCharacterNetworkMoveDataContainer::ClientFillNetworkMoveData ( const FSavedMove_Character ClientNewMove,
const FSavedMove_Character ClientPendingMove,
const FSavedMove_Character ClientOldMove 
)
virtual

Passes through calls to ClientFillNetworkMoveData on each FCharacterNetworkMoveData matching the client moves. Note that ClientNewMove will never be null, but others may be.

◆ GetNewMoveData()

FCharacterNetworkMoveData * FCharacterNetworkMoveDataContainer::GetNewMoveData ( ) const
inline

◆ GetOldMoveData()

FCharacterNetworkMoveData * FCharacterNetworkMoveDataContainer::GetOldMoveData ( ) const
inline

◆ GetPendingMoveData()

FCharacterNetworkMoveData * FCharacterNetworkMoveDataContainer::GetPendingMoveData ( ) const
inline

◆ Serialize()

bool FCharacterNetworkMoveDataContainer::Serialize ( UCharacterMovementComponent CharacterMovement,
FArchive Ar,
UPackageMap PackageMap 
)
virtual

Serialize movement data. Passes Serialize calls to each FCharacterNetworkMoveData as applicable, based on bHasPendingMove and bHasOldMove.

Member Data Documentation

◆ bDisableCombinedScopedMove

bool FCharacterNetworkMoveDataContainer::bDisableCombinedScopedMove

◆ bHasOldMove

bool FCharacterNetworkMoveDataContainer::bHasOldMove

◆ bHasPendingMove

bool FCharacterNetworkMoveDataContainer::bHasPendingMove

◆ bIsDualHybridRootMotionMove

bool FCharacterNetworkMoveDataContainer::bIsDualHybridRootMotionMove

◆ NewMoveData

FCharacterNetworkMoveData* FCharacterNetworkMoveDataContainer::NewMoveData
protected

◆ OldMoveData

FCharacterNetworkMoveData* FCharacterNetworkMoveDataContainer::OldMoveData
protected

◆ PendingMoveData

FCharacterNetworkMoveData* FCharacterNetworkMoveDataContainer::PendingMoveData
protected

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