Choose your operating system:
Windows
macOS
Linux
| UObjectBase
|
Module |
|
Header |
/Engine/Plugins/Online/OnlineFramework/Source/Hotfix/Public/OnlineHotfixManager.h |
Include |
#include "OnlineHotfixManager.h" |
UCLASS(Config=Engine)
class UOnlineHotfixManager : public UObject
This class manages the downloading and application of hotfix data Hotfix data is a set of non-executable files downloaded and applied to the game. The base implementation knows how to handle INI, PAK, and locres files.
Each INI/PAK file must be prefixed by the platform name they are targeted at
Name | Description | ||
---|---|---|---|
|
AssetsHotfixedFromIniFiles |
Array of objects that we're forcing to remain resident because we've applied live hotfixes and won't get an opportunity to reapply changes if the object is evicted from memory. |
|
|
TUniquePtr< FAs... |
AsyncFlushContext |
Asynchronously flush async loading before starting the hotfixing process. |
|
bHotfixingInProgress |
Some title file interfaces aren't re-entrant so handle it ourselves |
|
|
bHotfixNeedsMapReload |
Set to true if any PAK file contains an update to a level that is currently loaded |
|
|
bLogMountedPakContents |
Whether we want to log all of the files that are in a mounted pak file or not |
|
|
ChangedHotfixFileList |
The set of hotfix files that have changed from the last time we applied them |
|
|
ChangedOrRemovedPakCount |
If we have removed or changed a currently mounted PAK file, then we'll need to restart the app because there's no simple undo for objects that were loaded and possibly rooted |
|
|
DebugPrefix |
Used to prevent development work from interfering with playtests, etc. |
|
|
DefaultPrefix |
Normally will be "Default" but could be different if we have a debug prefix |
|
|
GameContentPath |
Holds a chunk of string that will be swapped for Game during processing pak files (MyGame/Content/Maps -> /Game/Maps) |
|
|
HotfixFileList |
The filtered list of files that are part of the hotfix |
|
|
HotfixManagerClassName |
Tells the factory method which class to contruct |
|
|
IniBackups |
Backup copies of INI files that change during hotfixing so they can be undone afterward |
|
|
LastHotfixFileList |
The last set of hotfix files that was applied so we can determine whether we are up to date or not |
|
|
MountedPakFiles |
Holds which files have been mounted for unmounting |
|
|
NumBytes |
||
|
NumDownloaded |
||
|
OnEnumerateFilesCompleteDelegate |
Callbacks for when the title file interface is done |
|
|
OnEnumerateFilesCompleteDelegateHandle |
||
|
OnEnumerateFilesForAvailabilityCompleteDelegateHandle |
||
|
OnHotfixCompleteDelegates |
Delegate fired when the hotfix process has completed |
|
|
OnHotfixProcessedFileDelegates |
Delegate fired as the hotfix files are applied |
|
|
OnHotfixProgressDelegates |
Delegate fired as the hotfix files are read |
|
|
OnlineTitleFile |
The online interface to use for downloading the hotfix files |
|
|
OnReadFileCompleteDelegate |
||
|
OnReadFileCompleteDelegateHandle |
||
|
OnReadFileProgressDelegate |
||
|
OnReadFileProgressDelegateHandle |
||
|
OSSName |
Tells the hotfix manager which OSS to use. Uses the default if empty |
|
|
TWeakObjectPtr<... |
OwnerWorld |
Our passed-in World |
|
PendingHotfixFiles |
Holds which files are pending download |
|
|
PlatformPrefix |
Used to match any PAK files for this platform |
|
|
RemovedHotfixFileList |
The set of hotfix files that have been removed from the last time we applied them |
|
|
ServerPrefix |
Used to match any server-only hotfixes |
|
|
TotalBytes |
Tracks the size of the files being processed as part of the hotfix |
|
|
TotalFiles |
Tracks how many files are being processed as part of the hotfix |
Name | Description | |
---|---|---|
|
UOnlineHotfixManager() |
|
|
UOnlineHotfixManager ( |
Name | Description | |
---|---|---|
|
~UOnlineHotfixManager() |
Name | Description | ||
---|---|---|---|
|
FDelegateHan... |
AddOnHotfixCompleteDelegate_Handle ( |
|
|
FDelegateHan... |
AddOnHotfixProcessedFileDelegate_Handle ( |
|
|
FDelegateHan... |
AddOnHotfixProgressDelegate_Handle ( |
|
|
EHotfixResul... |
ApplyHotfix() |
Looks at each file returned via the hotfix and processes them |
|
ApplyHotfixProcessing ( |
Called when a file needs custom processing (see above). |
|
|
FConfigFileB... |
BackupIniFile ( |
Stores off the INI file for restoration later |
|
BuildConfigCacheKey ( |
||
|
BuildHotfixFileListDeltas() |
Builds the list of files that are different between two runs of the hotfix process |
|
|
CheckAvailability ( |
Check for available hotfix files (but do not apply them) |
|
|
Cleanup() |
||
|
ClearOnHotfixCompleteDelegate_Handle ( |
||
|
ClearOnHotfixCompleteDelegates ( |
||
|
ClearOnHotfixProcessedFileDelegate_Handle ( |
||
|
ClearOnHotfixProcessedFileDelegates ( |
||
|
ClearOnHotfixProgressDelegate_Handle ( |
||
|
ClearOnHotfixProgressDelegates ( |
||
|
FilterHotfixFiles() |
Checks each file listed to see if it is a hotfix file to process |
|
|
UOnlineHotfi... |
Get ( |
Factory method that returns the configured hotfix manager |
|
GetCachedDirectory() |
Override this to change the default caching directory |
|
|
FConfigFile ... |
GetConfigFile ( |
|
|
FCloudFileHe... |
GetFileHeaderFromDLName ( |
Finds the header associated with the file name |
|
const FStrin... |
GetFriendlyNameFromDLName ( |
|
|
GetStrippedConfigFileName ( |
||
|
UWorld * |
GetWorld() |
|
|
HotfixIniFile |
Override this to change the default INI file handling (merge delta INI changes into the config cache) |
|
|
HotfixPakFile ( |
Override this to change the default PAK file handling: |
|
|
HotfixPakIniFile ( |
Override this to change the default INI file handling (merge whole INI files into the config cache) |
|
|
HotfixRowUpdate |
Used in PatchAssetsFromIniFiles to hotfix only a row in a table. |
|
|
HotfixTableUpdate |
Used in PatchAssetsFromIniFiles to hotfix an entire table. |
|
|
Init() |
||
|
IsMapLoaded ( |
||
|
OnEnumerateFilesComplete |
Called once the list of hotfix files has been retrieved |
|
|
OnEnumerateFilesForAvailabilityComplete ( |
Called once the list of hotfix files has been retrieved and we only want to see if a hotfix is necessary |
|
|
OnHotfixAvailablityCheck ( |
Notify used by CheckAvailability() |
|
|
OnHotfixTableValueDouble |
||
|
OnHotfixTableValueFloat |
||
|
OnHotfixTableValueInt64 |
Called after modifying table values by HotfixRowUpdate() |
|
|
OnHotfixTableValueName |
||
|
OnHotfixTableValueObject |
||
|
OnHotfixTableValueSoftObject ( |
||
|
OnHotfixTableValueString |
||
|
OnReadFileComplete |
Called as files are downloaded to determine when to apply the hotfix data |
|
|
OnReadFileProgress |
Called as files are downloaded to provide progress notifications |
|
|
PatchAssetsFromIniFiles() |
Called after any hotfixes are applied to apply last-second changes to certain asset types from .ini file data |
|
|
PreProcessDownloadedFileData |
Called prior to reading the file data. |
|
|
ReadHotfixFiles() |
Starts the async reading process for the hotfix files |
|
|
RestoreBackupIniFiles() |
Restores any changed INI files to their default loaded state |
|
|
ShouldWarnAboutMissingWhenPatchingFromIni ( |
||
|
StartHotfixProcess() |
Starts the fetching of hotfix data from the OnlineTitleFileInterface that is registered for this game |
|
|
TriggerHotfixComplete ( |
Cleans up and fires the delegate indicating it's done |
|
|
TriggerOnHotfixCompleteDelegates ( |
||
|
TriggerOnHotfixProcessedFileDelegates |
||
|
TriggerOnHotfixProgressDelegates |
||
|
UnmountHotfixFiles() |
Unmounts any changed PAK files so they can be re-mounted after downloading |
|
|
UpdateProgress |
Fires the progress delegate with our updated progress |
|
|
WantsHotfixProcessing ( |
Override this method to look at the file information for any game specific hotfix processing |
Name | Description | ||
---|---|---|---|
|
PostInitProperties() |
Called after the C++ constructor and after the properties have been initialized, including those loaded from config. |
Name |
Description |
|
---|---|---|
|
FConfigFileBackup |
|
|
FPendingFileDLProgress |