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

#include <CharacterMovementComponent.h>

+ Inheritance diagram for FNetworkPredictionData_Server_Character:

Public Member Functions

ENGINE_API FNetworkPredictionData_Server_Character (const UCharacterMovementComponent &ServerMovement)
 
virtual ENGINE_API ~FNetworkPredictionData_Server_Character ()
 
ENGINE_API float GetServerMoveDeltaTime (float ClientTimeStamp, float ActorTimeDilation) const
 
ENGINE_API float GetBaseServerMoveDeltaTime (float ClientTimeStamp, float ActorTimeDilation) const
 
virtual ENGINE_API void Serialize (FArchive &Archive)
 
- Public Member Functions inherited from FNetworkPredictionData_Server
 FNetworkPredictionData_Server ()
 
virtual ~FNetworkPredictionData_Server ()
 
virtual void ResetForcedUpdateState ()
 
virtual void AddStructReferencedObjects (FReferenceCollector &Collector) const
 

Public Attributes

FClientAdjustment PendingAdjustment
 
float CurrentClientTimeStamp
 
float LastReceivedClientTimeStamp
 
double ServerAccumulatedClientTimeStamp
 
float LastUpdateTime
 
float ServerTimeStampLastServerMove
 
float MaxMoveDeltaTime
 
uint32 bForceClientUpdate:1
 
float LifetimeRawTimeDiscrepancy
 
float TimeDiscrepancy
 
bool bResolvingTimeDiscrepancy
 
float TimeDiscrepancyResolutionMoveDeltaOverride
 
float TimeDiscrepancyAccumulatedClientDeltasSinceLastServerTick
 
float WorldCreationTime
 
- Public Attributes inherited from FNetworkPredictionData_Server
float ServerTimeStamp
 
float ServerTimeBeginningForcedUpdates
 
float ServerTimeLastForcedUpdate
 
uint8 bTriggeringForcedUpdates: 1
 
uint8 bForcedUpdateDurationExceeded: 1
 
uint8 bLastRequestNeedsForcedUpdates: 1
 

Additional Inherited Members

- Protected Member Functions inherited from FNoncopyable
 FNoncopyable ()
 
 ~FNoncopyable ()
 

Constructor & Destructor Documentation

◆ FNetworkPredictionData_Server_Character()

PRAGMA_DISABLE_DEPRECATION_WARNINGS FNetworkPredictionData_Server_Character::FNetworkPredictionData_Server_Character ( const UCharacterMovementComponent ServerMovement)

◆ ~FNetworkPredictionData_Server_Character()

PRAGMA_ENABLE_DEPRECATION_WARNINGS FNetworkPredictionData_Server_Character::~FNetworkPredictionData_Server_Character ( )
virtual

Member Function Documentation

◆ GetBaseServerMoveDeltaTime()

float FNetworkPredictionData_Server_Character::GetBaseServerMoveDeltaTime ( float  ClientTimeStamp,
float  ActorTimeDilation 
) const

Returns base time delta to use for a ServerMove, default calculation (no time discrepancy resolution)

◆ GetServerMoveDeltaTime()

float FNetworkPredictionData_Server_Character::GetServerMoveDeltaTime ( float  ClientTimeStamp,
float  ActorTimeDilation 
) const

Returns time delta to use for the current ServerMove(). Takes into account time discrepancy resolution if active.

◆ Serialize()

void FNetworkPredictionData_Server_Character::Serialize ( FArchive Archive)
virtual

Reimplemented from FNetworkPredictionData_Server.

Member Data Documentation

◆ bForceClientUpdate

uint32 FNetworkPredictionData_Server_Character::bForceClientUpdate

Force client update on the next ServerMoveHandleClientError() call.

◆ bResolvingTimeDiscrepancy

bool FNetworkPredictionData_Server_Character::bResolvingTimeDiscrepancy

True if currently in the process of resolving time discrepancy

◆ CurrentClientTimeStamp

float FNetworkPredictionData_Server_Character::CurrentClientTimeStamp

Timestamp from the client of most recent ServerMove() processed for this player. Reset occasionally for timestamp resets (to maintain accuracy).

◆ LastReceivedClientTimeStamp

float FNetworkPredictionData_Server_Character::LastReceivedClientTimeStamp

Timestamp from the client of most recent ServerMove() received for this player, including rejected requests.

◆ LastUpdateTime

float FNetworkPredictionData_Server_Character::LastUpdateTime

Last time server updated client with a move correction

◆ LifetimeRawTimeDiscrepancy

float FNetworkPredictionData_Server_Character::LifetimeRawTimeDiscrepancy

Accumulated timestamp difference between autonomous client and server for tracking long-term trends

◆ MaxMoveDeltaTime

float FNetworkPredictionData_Server_Character::MaxMoveDeltaTime

Max delta time for a given move, in real seconds Based off of AGameNetworkManager::MaxMoveDeltaTime config setting, but can be modified per actor if needed. Note: This was previously named MaxResponseTime, but has been renamed to reflect what it does more accurately

◆ PendingAdjustment

FClientAdjustment FNetworkPredictionData_Server_Character::PendingAdjustment

◆ ServerAccumulatedClientTimeStamp

double FNetworkPredictionData_Server_Character::ServerAccumulatedClientTimeStamp

Timestamp of total elapsed client time. Similar to CurrentClientTimestamp but this is accumulated with the calculated DeltaTime for each move on the server.

◆ ServerTimeStampLastServerMove

float FNetworkPredictionData_Server_Character::ServerTimeStampLastServerMove

Server clock time when last server move was received from client (does NOT include forced moves on server)

◆ TimeDiscrepancy

float FNetworkPredictionData_Server_Character::TimeDiscrepancy

Current time discrepancy between client-reported moves and time passed on the server. Time discrepancy resolution's goal is to keep this near zero.

◆ TimeDiscrepancyAccumulatedClientDeltasSinceLastServerTick

float FNetworkPredictionData_Server_Character::TimeDiscrepancyAccumulatedClientDeltasSinceLastServerTick

When bResolvingTimeDiscrepancy is true, we are in time discrepancy resolution mode where we bound move deltas by Server Deltas. In cases where there are multiple ServerMove RPCs handled within one server frame tick, we need to accumulate the client deltas of the "no tick" Moves so that the next Move processed that the server server has ticked for takes into account those previous deltas. If we did not use this, the higher the framerate of a client vs the server results in more punishment/payback time.

◆ TimeDiscrepancyResolutionMoveDeltaOverride

float FNetworkPredictionData_Server_Character::TimeDiscrepancyResolutionMoveDeltaOverride

When bResolvingTimeDiscrepancy is true, we are in time discrepancy resolution mode whose output is this value (to be used as the DeltaTime for current ServerMove)

◆ WorldCreationTime

float FNetworkPredictionData_Server_Character::WorldCreationTime

Creation time of this prediction data, used to contextualize LifetimeRawTimeDiscrepancy


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