UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DemoNetDriver.cpp File Reference

Classes

struct  FDemoBudgetLogHelper
 
class  FPendingTaskHelper
 
class  FScopedAllowExistingChannelIndex
 
class  FJumpToLiveReplayTask
 
class  FGotoTimeInSecondsTask
 
class  FSkipTimeInSecondsTask
 
class  FFastForwardLevelsTask
 
class  FReplayViewer
 
class  FRepActorsParams
 
class  FDemoNetDriverReplayPlaylistHelper
 

Namespaces

namespace  ReplayTaskNames
 
namespace  UE
 
namespace  UE::Net
 
namespace  DemoNetDriverRecordingPrivate
 

Macros

#define DEMO_CSV_PROFILING_HELPERS_ENABLED   (CSV_PROFILER && (!UE_BUILD_SHIPPING))
 

Functions

 DEFINE_LOG_CATEGORY (LogDemo)
 
 CSV_DEFINE_CATEGORY (Demo, true)
 

Variables

TAutoConsoleVariable< floatCVarDemoRecordHz (TEXT("demo.RecordHz"), 8, TEXT("Maximum number of demo frames recorded per second"))
 
TAutoConsoleVariable< floatCVarDemoMinRecordHz (TEXT("demo.MinRecordHz"), 0, TEXT("Minimum number of demo frames recorded per second (use with care)"))
 
TAutoConsoleVariable< int32CVarEnableCheckpoints (TEXT("demo.EnableCheckpoints"), 1, TEXT("Whether or not checkpoints save on the server"))
 
TAutoConsoleVariable< floatCVarCheckpointUploadDelayInSeconds (TEXT("demo.CheckpointUploadDelayInSeconds"), 30.0f, TEXT(""))
 
TAutoConsoleVariable< floatCVarCheckpointSaveMaxMSPerFrameOverride (TEXT("demo.CheckpointSaveMaxMSPerFrameOverride"), -1.0f, TEXT("If >= 0, this value will override the CheckpointSaveMaxMSPerFrame member variable, which is the maximum time allowed each frame to spend on saving a checkpoint. If 0, it will save the checkpoint in a single frame, regardless of how long it takes."))
 
TAutoConsoleVariable< int32CVarDemoClientRecordAsyncEndOfFrame (TEXT("demo.ClientRecordAsyncEndOfFrame"), 0, TEXT("If true, TickFlush will be called on a thread in parallel with Slate."))
 
TAutoConsoleVariable< int32CVarDemoUseNetRelevancy (TEXT("demo.UseNetRelevancy"), 0, TEXT("If 1, will enable relevancy checks and distance culling, using all connected clients as reference."))
 
TAutoConsoleVariable< int32CVarWithLevelStreamingFixes (TEXT("demo.WithLevelStreamingFixes"), 0, TEXT("If 1, provides fixes for level streaming (but breaks backwards compatibility)."))
 
TAutoConsoleVariable< int32CVarWithDemoTimeBurnIn (TEXT("demo.WithTimeBurnIn"), 0, TEXT("If true, adds an on screen message with the current DemoTime and Changelist."))
 
TAutoConsoleVariable< int32CVarWithDeltaCheckpoints (TEXT("demo.WithDeltaCheckpoints"), 0, TEXT("If true, record checkpoints as a delta from the previous checkpoint."))
 
TAutoConsoleVariable< int32CVarWithGameSpecificFrameData (TEXT("demo.WithGameSpecificFrameData"), 0, TEXT("If true, allow game specific data to be recorded with each demo frame."))
 
double GTickFlushDemoDriverTimeSeconds = 0.0
 

Macro Definition Documentation

◆ DEMO_CSV_PROFILING_HELPERS_ENABLED

#define DEMO_CSV_PROFILING_HELPERS_ENABLED   (CSV_PROFILER && (!UE_BUILD_SHIPPING))

Function Documentation

◆ CSV_DEFINE_CATEGORY()

CSV_DEFINE_CATEGORY ( Demo  ,
true   
)

◆ DEFINE_LOG_CATEGORY()

DEFINE_LOG_CATEGORY ( LogDemo  )

Variable Documentation

◆ CVarCheckpointSaveMaxMSPerFrameOverride

TAutoConsoleVariable< float > CVarCheckpointSaveMaxMSPerFrameOverride(TEXT("demo.CheckpointSaveMaxMSPerFrameOverride"), -1.0f, TEXT("If >= 0, this value will override the CheckpointSaveMaxMSPerFrame member variable, which is the maximum time allowed each frame to spend on saving a checkpoint. If 0, it will save the checkpoint in a single frame, regardless of how long it takes.")) ( TEXT("demo.CheckpointSaveMaxMSPerFrameOverride")  ,
-1.  0f,
TEXT("If >= 0, this value will override the CheckpointSaveMaxMSPerFrame member variable, which is the maximum time allowed each frame to spend on saving a checkpoint. If 0, it will save the checkpoint in a single frame, regardless of how long it takes."  
)

◆ CVarCheckpointUploadDelayInSeconds

TAutoConsoleVariable< float > CVarCheckpointUploadDelayInSeconds(TEXT("demo.CheckpointUploadDelayInSeconds"), 30.0f, TEXT("")) ( TEXT("demo.CheckpointUploadDelayInSeconds")  ,
30.  0f,
TEXT("")   
)

◆ CVarDemoClientRecordAsyncEndOfFrame

TAutoConsoleVariable< int32 > CVarDemoClientRecordAsyncEndOfFrame(TEXT("demo.ClientRecordAsyncEndOfFrame"), 0, TEXT("If true, TickFlush will be called on a thread in parallel with Slate.")) ( TEXT("demo.ClientRecordAsyncEndOfFrame")  ,
,
TEXT("If true, TickFlush will be called on a thread in parallel with Slate."  
)

◆ CVarDemoMinRecordHz

TAutoConsoleVariable< float > CVarDemoMinRecordHz(TEXT("demo.MinRecordHz"), 0, TEXT("Minimum number of demo frames recorded per second (use with care)")) ( TEXT("demo.MinRecordHz")  ,
,
TEXT("Minimum number of demo frames recorded per second (use with care)")   
)

◆ CVarDemoRecordHz

TAutoConsoleVariable< float > CVarDemoRecordHz(TEXT("demo.RecordHz"), 8, TEXT("Maximum number of demo frames recorded per second")) ( TEXT("demo.RecordHz")  ,
,
TEXT("Maximum number of demo frames recorded per second"  
)

◆ CVarDemoUseNetRelevancy

TAutoConsoleVariable< int32 > CVarDemoUseNetRelevancy(TEXT("demo.UseNetRelevancy"), 0, TEXT("If 1, will enable relevancy checks and distance culling, using all connected clients as reference.")) ( TEXT("demo.UseNetRelevancy")  ,
,
TEXT("If 1, will enable relevancy checks and distance culling, using all connected clients as reference."  
)

◆ CVarEnableCheckpoints

TAutoConsoleVariable< int32 > CVarEnableCheckpoints(TEXT("demo.EnableCheckpoints"), 1, TEXT("Whether or not checkpoints save on the server")) ( TEXT("demo.EnableCheckpoints")  ,
,
TEXT("Whether or not checkpoints save on the server"  
)

◆ CVarWithDeltaCheckpoints

TAutoConsoleVariable< int32 > CVarWithDeltaCheckpoints(TEXT("demo.WithDeltaCheckpoints"), 0, TEXT("If true, record checkpoints as a delta from the previous checkpoint.")) ( TEXT("demo.WithDeltaCheckpoints")  ,
,
TEXT("If true, record checkpoints as a delta from the previous checkpoint."  
)

◆ CVarWithDemoTimeBurnIn

TAutoConsoleVariable< int32 > CVarWithDemoTimeBurnIn(TEXT("demo.WithTimeBurnIn"), 0, TEXT("If true, adds an on screen message with the current DemoTime and Changelist.")) ( TEXT("demo.WithTimeBurnIn")  ,
,
TEXT("If true, adds an on screen message with the current DemoTime and Changelist."  
)

◆ CVarWithGameSpecificFrameData

TAutoConsoleVariable< int32 > CVarWithGameSpecificFrameData(TEXT("demo.WithGameSpecificFrameData"), 0, TEXT("If true, allow game specific data to be recorded with each demo frame.")) ( TEXT("demo.WithGameSpecificFrameData")  ,
,
TEXT("If true, allow game specific data to be recorded with each demo frame."  
)

◆ CVarWithLevelStreamingFixes

TAutoConsoleVariable< int32 > CVarWithLevelStreamingFixes(TEXT("demo.WithLevelStreamingFixes"), 0, TEXT("If 1, provides fixes for level streaming (but breaks backwards compatibility).")) ( TEXT("demo.WithLevelStreamingFixes")  ,
,
TEXT("If 1, provides fixes for level streaming (but breaks backwards compatibility).")   
)

◆ GTickFlushDemoDriverTimeSeconds

double GTickFlushDemoDriverTimeSeconds = 0.0

Accounts for the network time we spent in the demo driver.