![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include "Engine/DemoNetDriver.h"#include "Async/TaskGraphInterfaces.h"#include "Engine/DemoNetConnection.h"#include "Engine/GameInstance.h"#include "Engine/LevelStreaming.h"#include "UObject/Package.h"#include "Engine/NetConnection.h"#include "GameFramework/PlayerStart.h"#include "Engine/LocalPlayer.h"#include "Engine/PendingNetGame.h"#include "EngineUtils.h"#include "Engine/DemoPendingNetGame.h"#include "Engine/ReplicationDriver.h"#include "Net/DataReplication.h"#include "Engine/ActorChannel.h"#include "Engine/NetworkObjectList.h"#include "GameFramework/SpectatorPawn.h"#include "GameFramework/SpectatorPawnMovement.h"#include "Math/Interval.h"#include "Net/UnrealNetwork.h"#include "UnrealEngine.h"#include "Net/NetworkProfiler.h"#include "GameFramework/GameStateBase.h"#include "Misc/CommandLine.h"#include "Stats/StatsMisc.h"#include "Engine/ChildConnection.h"#include "Net/ReplayPlaylistTracker.h"#include "Net/NetworkGranularMemoryLogging.h"#include "HAL/LowLevelMemStats.h"#include "ProfilingDebugging/AssetMetadataTrace.h"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) | |
| #define DEMO_CSV_PROFILING_HELPERS_ENABLED (CSV_PROFILER && (!UE_BUILD_SHIPPING)) |
| DEFINE_LOG_CATEGORY | ( | LogDemo | ) |
| 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.") | |||
| ) |
| TAutoConsoleVariable< float > CVarCheckpointUploadDelayInSeconds(TEXT("demo.CheckpointUploadDelayInSeconds"), 30.0f, TEXT("")) | ( | TEXT("demo.CheckpointUploadDelayInSeconds") | , |
| 30. | 0f, | ||
| TEXT("") | |||
| ) |
| TAutoConsoleVariable< int32 > CVarDemoClientRecordAsyncEndOfFrame(TEXT("demo.ClientRecordAsyncEndOfFrame"), 0, TEXT("If true, TickFlush will be called on a thread in parallel with Slate.")) | ( | TEXT("demo.ClientRecordAsyncEndOfFrame") | , |
| 0 | , | ||
| TEXT("If true, TickFlush will be called on a thread in parallel with Slate.") | |||
| ) |
| TAutoConsoleVariable< float > CVarDemoMinRecordHz(TEXT("demo.MinRecordHz"), 0, TEXT("Minimum number of demo frames recorded per second (use with care)")) | ( | TEXT("demo.MinRecordHz") | , |
| 0 | , | ||
| TEXT("Minimum number of demo frames recorded per second (use with care)") | |||
| ) |
| TAutoConsoleVariable< float > CVarDemoRecordHz(TEXT("demo.RecordHz"), 8, TEXT("Maximum number of demo frames recorded per second")) | ( | TEXT("demo.RecordHz") | , |
| 8 | , | ||
| TEXT("Maximum number of demo frames recorded per second") | |||
| ) |
| 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") | , |
| 0 | , | ||
| TEXT("If 1, will enable relevancy checks and distance culling, using all connected clients as reference.") | |||
| ) |
| TAutoConsoleVariable< int32 > CVarEnableCheckpoints(TEXT("demo.EnableCheckpoints"), 1, TEXT("Whether or not checkpoints save on the server")) | ( | TEXT("demo.EnableCheckpoints") | , |
| 1 | , | ||
| TEXT("Whether or not checkpoints save on the server") | |||
| ) |
| TAutoConsoleVariable< int32 > CVarWithDeltaCheckpoints(TEXT("demo.WithDeltaCheckpoints"), 0, TEXT("If true, record checkpoints as a delta from the previous checkpoint.")) | ( | TEXT("demo.WithDeltaCheckpoints") | , |
| 0 | , | ||
| TEXT("If true, record checkpoints as a delta from the previous checkpoint.") | |||
| ) |
| TAutoConsoleVariable< int32 > CVarWithDemoTimeBurnIn(TEXT("demo.WithTimeBurnIn"), 0, TEXT("If true, adds an on screen message with the current DemoTime and Changelist.")) | ( | TEXT("demo.WithTimeBurnIn") | , |
| 0 | , | ||
| TEXT("If true, adds an on screen message with the current DemoTime and Changelist.") | |||
| ) |
| TAutoConsoleVariable< int32 > CVarWithGameSpecificFrameData(TEXT("demo.WithGameSpecificFrameData"), 0, TEXT("If true, allow game specific data to be recorded with each demo frame.")) | ( | TEXT("demo.WithGameSpecificFrameData") | , |
| 0 | , | ||
| TEXT("If true, allow game specific data to be recorded with each demo frame.") | |||
| ) |
| TAutoConsoleVariable< int32 > CVarWithLevelStreamingFixes(TEXT("demo.WithLevelStreamingFixes"), 0, TEXT("If 1, provides fixes for level streaming (but breaks backwards compatibility).")) | ( | TEXT("demo.WithLevelStreamingFixes") | , |
| 0 | , | ||
| TEXT("If 1, provides fixes for level streaming (but breaks backwards compatibility).") | |||
| ) |
| double GTickFlushDemoDriverTimeSeconds = 0.0 |
Accounts for the network time we spent in the demo driver.