UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SaveGameNetworkReplayStreaming.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "Stats/Stats.h"
9
11
33{
34public:
35
38
41 SAVEGAMENETWORKREPLAYSTREAMING_API virtual void DeleteFinishedStream(const FString& ReplayName, const FDeleteFinishedStreamCallback& Delegate) override;
42 SAVEGAMENETWORKREPLAYSTREAMING_API virtual void DeleteFinishedStream(const FString& StreamName, const int32 UserIndex, const FDeleteFinishedStreamCallback& Delegate) override;
44 SAVEGAMENETWORKREPLAYSTREAMING_API virtual void EnumerateRecentStreams(const FNetworkReplayVersion& ReplayVersion, const int32 UserIndex, const FEnumerateStreamsCallback& Delegate) override;
45 SAVEGAMENETWORKREPLAYSTREAMING_API virtual void KeepReplay(const FString& ReplayName, const bool bKeep, const FKeepReplayCallback& Delegate) override;
46 SAVEGAMENETWORKREPLAYSTREAMING_API virtual void KeepReplay(const FString& ReplayName, const bool bKeep, const int32 UserIndex, const FKeepReplayCallback& Delegate) override;
47 SAVEGAMENETWORKREPLAYSTREAMING_API virtual void RenameReplayFriendlyName(const FString& ReplayName, const FString& NewFriendlyName, const FRenameReplayCallback& Delegate) override;
48 SAVEGAMENETWORKREPLAYSTREAMING_API virtual void RenameReplayFriendlyName(const FString& ReplayName, const FString& NewFriendlyName, const int32 UserIndex, const FRenameReplayCallback& Delegate) override;
49 SAVEGAMENETWORKREPLAYSTREAMING_API virtual void RenameReplay(const FString& ReplayName, const FString& NewName, const FRenameReplayCallback& Delegate) override;
50 SAVEGAMENETWORKREPLAYSTREAMING_API virtual void RenameReplay(const FString& ReplayName, const FString& NewName, const int32 UserIndex, const FRenameReplayCallback& Delegate) override;
51
52 SAVEGAMENETWORKREPLAYSTREAMING_API virtual void EnumerateEvents(const FString& ReplayName, const FString& Group, const FEnumerateEventsCallback& Delegate) override;
53 SAVEGAMENETWORKREPLAYSTREAMING_API virtual void EnumerateEvents( const FString& ReplayName, const FString& Group, const int32 UserIndex, const FEnumerateEventsCallback& Delegate) override;
54 SAVEGAMENETWORKREPLAYSTREAMING_API virtual void RequestEventData(const FString& EventID, const FRequestEventDataCallback& Delegate) override;
55 SAVEGAMENETWORKREPLAYSTREAMING_API virtual void RequestEventData(const FString& ReplayName, const FString& EventID, const FRequestEventDataCallback& Delegate) override;
56 SAVEGAMENETWORKREPLAYSTREAMING_API virtual void RequestEventData(const FString& ReplayName, const FString& EventId, const int32 UserIndex, const FRequestEventDataCallback& Delegate) override;
57 SAVEGAMENETWORKREPLAYSTREAMING_API virtual void RequestEventGroupData(const FString& Group, const FRequestEventGroupDataCallback& Delegate) override;
58 SAVEGAMENETWORKREPLAYSTREAMING_API virtual void RequestEventGroupData(const FString& ReplayName, const FString& Group, const FRequestEventGroupDataCallback& Delegate) override;
59 SAVEGAMENETWORKREPLAYSTREAMING_API virtual void RequestEventGroupData(const FString& ReplayName, const FString& Group, const int32 UserIndex, const FRequestEventGroupDataCallback& Delegate) override;
60protected:
61
63 SAVEGAMENETWORKREPLAYSTREAMING_API void DeleteFinishedStreamSaved(const FString& ReplayName, const int32 UserIndex, const FDeleteFinishedStreamCallback& Delegate) const;
64 SAVEGAMENETWORKREPLAYSTREAMING_API void KeepReplaySaved(const FString& ReplayName, const bool bKeep, const int32 UserIndex, const FKeepReplayCallback& Result);
65 SAVEGAMENETWORKREPLAYSTREAMING_API void RenameReplayFriendlyNameSaved(const FString& ReplayName, const FString& NewFriendlyName, const int32 UserIndex, const FRenameReplayCallback& Delegate) const;
66 SAVEGAMENETWORKREPLAYSTREAMING_API void RenameReplaySaved(const FString& ReplayName, const FString& NewName, const int32 UserIndex, const FRenameReplayCallback& Delegate);
67 SAVEGAMENETWORKREPLAYSTREAMING_API void EnumerateEventsSaved(const FString& ReplayName, const FString& Group, const int32 UserIndex, const FEnumerateEventsCallback& Delegate) const;
68 SAVEGAMENETWORKREPLAYSTREAMING_API void RequestEventDataSaved(const FString& ReplayName, const FString& EventID, const int32 UserIndex, const FRequestEventDataCallback& Delegate);
69 SAVEGAMENETWORKREPLAYSTREAMING_API void RequestEventGroupDataSaved(const FString& ReplayName, const FString& Group, const int32 UserIndex, const FRequestEventGroupDataCallback& Delegate);
70
72 SAVEGAMENETWORKREPLAYSTREAMING_API void DeleteFinishedStream_Internal(const FString& ReplayName, const int32 UserIndex, FDeleteFinishedStreamResult& Result) const;
74 SAVEGAMENETWORKREPLAYSTREAMING_API void KeepReplay_Internal(const FString& ReplayName, const bool bKeep, const int32 UserIndex, FKeepReplayResult& Result);
75 SAVEGAMENETWORKREPLAYSTREAMING_API void RenameReplayFriendlyName_Internal(const FString& ReplayName, const FString& NewFriendlyName, const int32 UserIndex, FRenameReplayResult& Result) const;
76 SAVEGAMENETWORKREPLAYSTREAMING_API void EnumerateEvents_Internal(const FString& ReplayName, const FString& Group, const int32 UserIndex, FEnumerateEventsResult& Result) const;
77 SAVEGAMENETWORKREPLAYSTREAMING_API void RequestEventData_Internal(const FString& ReplayName, const FString& EventID, const int32 UserIndex, FRequestEventDataResult& Result);
78 SAVEGAMENETWORKREPLAYSTREAMING_API void RequestEventGroupData_Internal(const FString& ReplayName, const FString& Group, const int32 UserIndex, FRequestEventGroupDataResult& Result);
79
81 {
82 // Save game file version.
84
85 // Events that are serialized in the header.
87
88 // Actual event data. Indices correlate to Event index.
90 };
91
100
107
110
114
117
118 // Returns whether the input name corresponds to a save game.
119 SAVEGAMENETWORKREPLAYSTREAMING_API bool IsSaveGameFileName(const FString& ReplayName) const;
120
121 SAVEGAMENETWORKREPLAYSTREAMING_API int32 GetReplayIndexFromName(const FString& ReplayName) const;
122
125
127
138
149 virtual bool GetSaveGameOption(const FSaveGameOptionInfo& OptionInfo, FString& OptionValue) const { return false; }
150
151
152 // Special replay name that will be used when copying over SaveGame replays for playback.
153 const FString PlaybackReplayName;
154
158
159private:
160
161 SAVEGAMENETWORKREPLAYSTREAMING_API TFunction<bool(const TCHAR*, EGameDelegates_SaveGame, FString&)> WrapGetSaveGameOption() const;
162
163 // Although this isn't used on the GameThread, it should only be created / destroyed
164 // from the same thread. Therefore, no need to make it thread safe (for now).
165 mutable TWeakPtr<FSaveGameOptionInfo> WeakOptionInfo;
166
168};
169
@ INDEX_NONE
Definition CoreMiscDefines.h:150
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EGameDelegates_SaveGame
Definition GameDelegates.h:15
const bool
Definition NetworkReplayStreaming.h:178
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Archive.h:1208
Definition LocalFileNetworkReplayStreaming.h:509
FString DemoSavePath
Definition LocalFileNetworkReplayStreaming.h:762
Definition LocalFileNetworkReplayStreaming.h:794
Definition NetworkVersion.h:20
Definition NetworkReplayStreaming.h:55
Definition SaveGameNetworkReplayStreaming.h:33
SAVEGAMENETWORKREPLAYSTREAMING_API void PopulateStreamInfoFromMetaData(const FSaveGameMetaData &MetaData, FNetworkReplayStreamInfo &OutStreamInfo) const
Definition SaveGameNetworkReplayStreaming.cpp:1731
SAVEGAMENETWORKREPLAYSTREAMING_API bool SerializeVersionedMetaData(FArchive &Archive, FSaveGameMetaData &MetaData) const
Definition SaveGameNetworkReplayStreaming.cpp:1768
SAVEGAMENETWORKREPLAYSTREAMING_API void RequestEventData_Internal(const FString &ReplayName, const FString &EventID, const int32 UserIndex, FRequestEventDataResult &Result)
Definition SaveGameNetworkReplayStreaming.cpp:1480
virtual SAVEGAMENETWORKREPLAYSTREAMING_API void EnumerateRecentStreams(const FNetworkReplayVersion &ReplayVersion, const int32 UserIndex, const FEnumerateStreamsCallback &Delegate) override
Definition SaveGameNetworkReplayStreaming.cpp:1320
SAVEGAMENETWORKREPLAYSTREAMING_API FString GetFullPlaybackName() const
Definition SaveGameNetworkReplayStreaming.cpp:1859
SAVEGAMENETWORKREPLAYSTREAMING_API void RequestEventGroupData_Internal(const FString &ReplayName, const FString &Group, const int32 UserIndex, FRequestEventGroupDataResult &Result)
Definition SaveGameNetworkReplayStreaming.cpp:1570
SAVEGAMENETWORKREPLAYSTREAMING_API void RenameReplayFriendlyNameSaved(const FString &ReplayName, const FString &NewFriendlyName, const int32 UserIndex, const FRenameReplayCallback &Delegate) const
Definition SaveGameNetworkReplayStreaming.cpp:1137
virtual SAVEGAMENETWORKREPLAYSTREAMING_API void RequestEventGroupData(const FString &Group, const FRequestEventGroupDataCallback &Delegate) override
Definition SaveGameNetworkReplayStreaming.cpp:1515
SAVEGAMENETWORKREPLAYSTREAMING_API void EnumerateStreams_Internal(const FNetworkReplayVersion &ReplayVersion, const int32 UserIndex, const FString &MetaString, const TArray< FString > &ExtraParms, FEnumerateStreamsResult &Result)
Definition SaveGameNetworkReplayStreaming.cpp:1252
SAVEGAMENETWORKREPLAYSTREAMING_API void StartStreaming_Internal(const FStartStreamingParameters &Params, FStartStreamingResult &Result)
Definition SaveGameNetworkReplayStreaming.cpp:756
SAVEGAMENETWORKREPLAYSTREAMING_API bool SerializeMetaData(FArchive &Archive, FSaveGameMetaData &MetaData) const
Definition SaveGameNetworkReplayStreaming.cpp:1744
SAVEGAMENETWORKREPLAYSTREAMING_API bool ReadMetaDataFromSaveGame(class ISaveGameSystem &SaveGameSystem, const FSaveGameSanitizedNames &SanitizedNames, const int32 UserIndex, FSaveGameMetaData &OutMetaData, FStreamingResultBase &OutResult) const
Definition SaveGameNetworkReplayStreaming.cpp:1701
SAVEGAMENETWORKREPLAYSTREAMING_API void DeleteFinishedStreamSaved(const FString &ReplayName, const int32 UserIndex, const FDeleteFinishedStreamCallback &Delegate) const
Definition SaveGameNetworkReplayStreaming.cpp:841
SAVEGAMENETWORKREPLAYSTREAMING_API FSaveGameNetworkReplayStreamer()
Definition SaveGameNetworkReplayStreaming.cpp:693
SAVEGAMENETWORKREPLAYSTREAMING_API void KeepReplay_Internal(const FString &ReplayName, const bool bKeep, const int32 UserIndex, FKeepReplayResult &Result)
Definition SaveGameNetworkReplayStreaming.cpp:952
SAVEGAMENETWORKREPLAYSTREAMING_API void EnumerateEventsSaved(const FString &ReplayName, const FString &Group, const int32 UserIndex, const FEnumerateEventsCallback &Delegate) const
Definition SaveGameNetworkReplayStreaming.cpp:1355
SAVEGAMENETWORKREPLAYSTREAMING_API void ReplayIndexToSanitizedNames(const int32 ReplayIndex, FSaveGameSanitizedNames &OutSanitizedNames) const
Definition SaveGameNetworkReplayStreaming.cpp:1847
virtual bool GetSaveGameOption(const FSaveGameOptionInfo &OptionInfo, FString &OptionValue) const
Definition SaveGameNetworkReplayStreaming.h:149
virtual SAVEGAMENETWORKREPLAYSTREAMING_API void DeleteFinishedStream(const FString &ReplayName, const FDeleteFinishedStreamCallback &Delegate) override
Definition SaveGameNetworkReplayStreaming.cpp:810
virtual SAVEGAMENETWORKREPLAYSTREAMING_API void RequestEventData(const FString &EventID, const FRequestEventDataCallback &Delegate) override
Definition SaveGameNetworkReplayStreaming.cpp:1422
SAVEGAMENETWORKREPLAYSTREAMING_API void RequestEventGroupDataSaved(const FString &ReplayName, const FString &Group, const int32 UserIndex, const FRequestEventGroupDataCallback &Delegate)
Definition SaveGameNetworkReplayStreaming.cpp:1551
virtual SAVEGAMENETWORKREPLAYSTREAMING_API void RenameReplay(const FString &ReplayName, const FString &NewName, const FRenameReplayCallback &Delegate) override
Definition SaveGameNetworkReplayStreaming.cpp:1213
static SAVEGAMENETWORKREPLAYSTREAMING_API const FString & GetDefaultDemoSavePath()
Definition SaveGameNetworkReplayStreaming.cpp:1878
SAVEGAMENETWORKREPLAYSTREAMING_API void RequestEventDataSaved(const FString &ReplayName, const FString &EventID, const int32 UserIndex, const FRequestEventDataCallback &Delegate)
Definition SaveGameNetworkReplayStreaming.cpp:1461
SAVEGAMENETWORKREPLAYSTREAMING_API bool IsSaveGameFileName(const FString &ReplayName) const
Definition SaveGameNetworkReplayStreaming.cpp:1829
virtual SAVEGAMENETWORKREPLAYSTREAMING_API void RenameReplayFriendlyName(const FString &ReplayName, const FString &NewFriendlyName, const FRenameReplayCallback &Delegate) override
Definition SaveGameNetworkReplayStreaming.cpp:1107
SAVEGAMENETWORKREPLAYSTREAMING_API void RenameReplayFriendlyName_Internal(const FString &ReplayName, const FString &NewFriendlyName, const int32 UserIndex, FRenameReplayResult &Result) const
Definition SaveGameNetworkReplayStreaming.cpp:1159
SAVEGAMENETWORKREPLAYSTREAMING_API void DeleteFinishedStream_Internal(const FString &ReplayName, const int32 UserIndex, FDeleteFinishedStreamResult &Result) const
Definition SaveGameNetworkReplayStreaming.cpp:860
SAVEGAMENETWORKREPLAYSTREAMING_API void EnumerateEvents_Internal(const FString &ReplayName, const FString &Group, const int32 UserIndex, FEnumerateEventsResult &Result) const
Definition SaveGameNetworkReplayStreaming.cpp:1374
SAVEGAMENETWORKREPLAYSTREAMING_API void RenameReplaySaved(const FString &ReplayName, const FString &NewName, const int32 UserIndex, const FRenameReplayCallback &Delegate)
Definition SaveGameNetworkReplayStreaming.cpp:1218
SAVEGAMENETWORKREPLAYSTREAMING_API bool StreamNameToSanitizedNames(const FString &StreamName, FSaveGameSanitizedNames &OutSanitizedNames) const
Definition SaveGameNetworkReplayStreaming.cpp:1834
virtual SAVEGAMENETWORKREPLAYSTREAMING_API void EnumerateStreams(const FNetworkReplayVersion &InReplayVersion, const int32 UserIndex, const FString &MetaString, const TArray< FString > &ExtraParms, const FEnumerateStreamsCallback &Delegate) override
Definition SaveGameNetworkReplayStreaming.cpp:1226
const FString PlaybackReplayName
Definition SaveGameNetworkReplayStreaming.h:153
static SAVEGAMENETWORKREPLAYSTREAMING_API const FString & GetTempDemoRelativeSavePath()
Definition SaveGameNetworkReplayStreaming.cpp:1884
SAVEGAMENETWORKREPLAYSTREAMING_API void StartStreamingSaved(const FStartStreamingParameters &Params, const FStartStreamingCallback &Delegate)
Definition SaveGameNetworkReplayStreaming.cpp:723
virtual SAVEGAMENETWORKREPLAYSTREAMING_API TArrayView< const FString > GetAdditionalRelativeDemoPaths() const override
Definition SaveGameNetworkReplayStreaming.cpp:1873
SAVEGAMENETWORKREPLAYSTREAMING_API void KeepReplaySaved(const FString &ReplayName, const bool bKeep, const int32 UserIndex, const FKeepReplayCallback &Result)
Definition SaveGameNetworkReplayStreaming.cpp:922
virtual SAVEGAMENETWORKREPLAYSTREAMING_API void StartStreaming(const FStartStreamingParameters &Params, const FStartStreamingCallback &Delegate) override
Definition SaveGameNetworkReplayStreaming.cpp:705
virtual SAVEGAMENETWORKREPLAYSTREAMING_API void KeepReplay(const FString &ReplayName, const bool bKeep, const FKeepReplayCallback &Delegate) override
Definition SaveGameNetworkReplayStreaming.cpp:911
static SAVEGAMENETWORKREPLAYSTREAMING_API const FString & GetDefaultPlaybackName()
Definition SaveGameNetworkReplayStreaming.cpp:1891
SAVEGAMENETWORKREPLAYSTREAMING_API FString GetLocalPlaybackName() const
Definition SaveGameNetworkReplayStreaming.cpp:1868
SAVEGAMENETWORKREPLAYSTREAMING_API int32 GetReplayIndexFromName(const FString &ReplayName) const
Definition SaveGameNetworkReplayStreaming.cpp:1854
virtual SAVEGAMENETWORKREPLAYSTREAMING_API void EnumerateEvents(const FString &ReplayName, const FString &Group, const FEnumerateEventsCallback &Delegate) override
Definition SaveGameNetworkReplayStreaming.cpp:1325
SAVEGAMENETWORKREPLAYSTREAMING_API bool ReadMetaDataFromLocalStream(FArchive &Archive, FSaveGameMetaData &OutMetaData) const
Definition SaveGameNetworkReplayStreaming.cpp:1616
Definition SaveGameNetworkReplayStreaming.h:171
virtual SAVEGAMENETWORKREPLAYSTREAMING_API void StartupModule() override
Definition SaveGameNetworkReplayStreaming.cpp:1912
virtual SAVEGAMENETWORKREPLAYSTREAMING_API TSharedPtr< INetworkReplayStreamer > CreateReplayStreamer() override
Definition SaveGameNetworkReplayStreaming.cpp:1919
Definition SaveGameSystem.h:20
Definition ArrayView.h:139
Definition AndroidPlatformMisc.h:14
Definition SharedPointer.h:692
Definition SharedPointer.h:1295
Definition NetworkReplayStreaming.h:297
Definition NetworkReplayStreaming.h:348
Definition NetworkReplayStreaming.h:320
Definition NetworkReplayStreaming.h:459
Definition LocalFileNetworkReplayStreaming.h:137
Definition NetworkReplayStreaming.h:71
Definition NetworkReplayStreaming.h:475
Definition NetworkReplayStreaming.h:373
Definition NetworkReplayStreaming.h:398
Definition SaveGameNetworkReplayStreaming.h:93
FSaveGameReplayVersionedInfo VersionedInfo
Definition SaveGameNetworkReplayStreaming.h:98
FString ReplayName
Definition SaveGameNetworkReplayStreaming.h:94
FLocalFileReplayInfo ReplayInfo
Definition SaveGameNetworkReplayStreaming.h:96
Definition SaveGameNetworkReplayStreaming.h:129
bool bIsSavingMetaData
Definition SaveGameNetworkReplayStreaming.h:132
FString ReplaySaveName
Definition SaveGameNetworkReplayStreaming.h:136
int32 SaveDataSize
Definition SaveGameNetworkReplayStreaming.h:133
EGameDelegates_SaveGame Option
Definition SaveGameNetworkReplayStreaming.h:130
bool bIsForRename
Definition SaveGameNetworkReplayStreaming.h:131
FString ReplayFriendlyName
Definition SaveGameNetworkReplayStreaming.h:135
Definition SaveGameNetworkReplayStreaming.h:81
FReplayEventList Events
Definition SaveGameNetworkReplayStreaming.h:86
uint32 FileVersion
Definition SaveGameNetworkReplayStreaming.h:83
TArray< TArray< uint8 > > EventData
Definition SaveGameNetworkReplayStreaming.h:89
Definition SaveGameNetworkReplayStreaming.h:102
int32 ReplayIndex
Definition SaveGameNetworkReplayStreaming.h:105
FString ReplayMetaName
Definition SaveGameNetworkReplayStreaming.h:103
FString ReplayName
Definition SaveGameNetworkReplayStreaming.h:104
Definition NetworkReplayStreaming.h:488
Definition NetworkReplayStreaming.h:228
Definition NetworkReplayStreaming.h:215