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

#include <BuildPatchServicesModule.h>

+ Inheritance diagram for FBuildPatchServicesModule:

Public Member Functions

virtual void StartupModule () override
 
virtual void ShutdownModule () override
 
virtual IBuildInstallerRef CreateBuildInstaller (BuildPatchServices::FBuildInstallerConfiguration Configuration, FBuildPatchInstallerDelegate OnComplete) const override
 
virtual IBuildInstallerSharedContextRef CreateBuildInstallerSharedContext (const TCHAR *DebugName) const override
 
virtual BuildPatchServices::IBuildStatisticsRef CreateBuildStatistics (const IBuildInstallerRef &Installer) const override
 
virtual BuildPatchServices::IPatchDataEnumerationRef CreatePatchDataEnumeration (BuildPatchServices::FPatchDataEnumerationConfiguration Configuration) const override
 
virtual IBuildManifestPtr LoadManifestFromFile (const FString &Filename) override
 
virtual IBuildManifestPtr MakeManifestFromData (const TArray< uint8 > &ManifestData) override
 
virtual bool SaveManifestToFile (const FString &Filename, IBuildManifestRef Manifest) override
 
virtual TSet< FString > GetInstalledPrereqIds () const override
 
virtual const TArray< IBuildInstallerRef > & GetInstallers () const override
 
virtual void SetStagingDirectory (const FString &StagingDir) override
 
virtual void SetCloudDirectory (FString CloudDir) override
 
virtual void SetCloudDirectories (TArray< FString > CloudDirs) override
 
virtual void SetBackupDirectory (const FString &BackupDir) override
 
virtual void SetAnalyticsProvider (TSharedPtr< IAnalyticsProvider > AnalyticsProvider) override
 
virtual void RegisterAppInstallation (IBuildManifestRef AppManifest, const FString AppInstallDirectory) override
 
virtual bool UnregisterAppInstallation (const FString AppInstallDirectory) override
 
virtual void CancelAllInstallers (bool WaitForThreads) override
 
virtual bool ChunkBuildDirectory (const BuildPatchServices::FChunkBuildConfiguration &Configuration) override
 
virtual bool OptimiseChunkDelta (const BuildPatchServices::FChunkDeltaOptimiserConfiguration &Configuration) override
 
virtual bool CompactifyCloudDirectory (const BuildPatchServices::FCompactifyConfiguration &Configuration) override
 
virtual bool EnumeratePatchData (const BuildPatchServices::FPatchDataEnumerationConfiguration &Configuration) override
 
virtual bool VerifyChunkData (const FString &SearchPath, const FString &OutputFile) override
 
virtual bool PackageChunkData (const BuildPatchServices::FPackageChunksConfiguration &Configuration) override
 
virtual bool MergeManifests (const FString &ManifestFilePathA, const FString &ManifestFilePathB, const FString &ManifestFilePathC, const FString &NewVersionString, const FString &SelectionDetailFilePath) override
 
virtual bool DiffManifests (const BuildPatchServices::FDiffManifestsConfiguration &Configuration) override
 
virtual FSimpleEventOnStartBuildInstall () override
 
virtual IBuildManifestPtr MakeManifestFromJSON (const FString &ManifestJSON) override
 
- Public Member Functions inherited from IBuildPatchServicesModule
virtual ~IBuildPatchServicesModule ()
 
 UE_DEPRECATED (4.21, "MakeManifestFromJSON(const FString& ManifestJSON) has been deprecated. Please use MakeManifestFromData(const TArray<uint8>& ManifestData) instead.") virtual IBuildManifestPtr MakeManifestFromJSON(const FString &ManifestJSON)=0
 
virtual bool GenerateChunksManifestFromDirectory (const BuildPatchServices::FGenerationConfiguration &Configuration)
 
 UE_DEPRECATED (4.23, "StartBuildInstall(IBuildManifestPtr, IBuildManifestPtr, const FString&, FBuildPatchBoolManifestDelegate, bool, TSet<FString>) has been deprecated. Please use CreateBuildInstaller(BuildPatchServices::FBuildInstallerConfiguration, FBuildPatchInstallerDelegate) instead, followed by IBuildInstaller::StartInstallation.") IBuildInstallerPtr StartBuildInstall(IBuildManifestPtr CurrentManifest
 
- Public Member Functions inherited from IModuleInterface
virtual ~IModuleInterface ()
 
virtual void PreUnloadCallback ()
 
virtual void PostLoadCallback ()
 
virtual bool SupportsDynamicReloading ()
 
virtual bool SupportsAutomaticShutdown ()
 
virtual bool IsGameModule () const
 

Static Public Member Functions

static const FString & GetStagingDirectory ()
 
static FString GetCloudDirectory (int32 CloudIdx=0)
 
static TArray< FString > GetCloudDirectories ()
 
static const FString & GetBackupDirectory ()
 

Additional Inherited Members

- Public Attributes inherited from IBuildPatchServicesModule
IBuildManifestPtr InstallManifest
 
IBuildManifestPtr const FString & InstallDirectory
 
IBuildManifestPtr const FString FBuildPatchBoolManifestDelegate OnCompleteDelegate
 
IBuildManifestPtr const FString FBuildPatchBoolManifestDelegate bool bIsRepair = false
 

Detailed Description

Implements the BuildPatchServicesModule.

Member Function Documentation

◆ CancelAllInstallers()

void FBuildPatchServicesModule::CancelAllInstallers ( bool  WaitForThreads)
overridevirtual

Call to force the exit out of all current installers, optionally blocks until threads have exited and complete delegates are called.

Parameters
WaitForThreadsIf true, will block on threads exit and completion delegates

Implements IBuildPatchServicesModule.

◆ ChunkBuildDirectory()

bool FBuildPatchServicesModule::ChunkBuildDirectory ( const BuildPatchServices::FChunkBuildConfiguration Configuration)
overridevirtual

Processes a Build directory to create chunks for new data and produce a manifest, saved to the provided cloud directory. NOTE: This function is blocking and will not return until finished.

Parameters
ConfigurationSpecifies the settings for the operation. See BuildPatchServices::FChunkBuildConfiguration comments.
Returns
true if successful.

Implements IBuildPatchServicesModule.

◆ CompactifyCloudDirectory()

bool FBuildPatchServicesModule::CompactifyCloudDirectory ( const BuildPatchServices::FCompactifyConfiguration Configuration)
overridevirtual

Processes a Cloud Directory to identify and delete any orphaned chunks or files. NOTE: THIS function is blocking and will not return until finished.

Parameters
ConfigurationSpecifies the settings for the operation. See BuildPatchServices::FCompactifyConfiguration comments.
Returns
true if successful.

Implements IBuildPatchServicesModule.

◆ CreateBuildInstaller()

IBuildInstallerRef FBuildPatchServicesModule::CreateBuildInstaller ( BuildPatchServices::FBuildInstallerConfiguration  Configuration,
FBuildPatchInstallerDelegate  OnComplete 
) const
overridevirtual

Factory providing construction of a build installer class.

Parameters
ConfigurationThe configuration for the installer.
OnCompleteThe delegate that will be called when the installer completes.
Returns
an instance of an IBuildInstaller implementation.

Implements IBuildPatchServicesModule.

◆ CreateBuildInstallerSharedContext()

IBuildInstallerSharedContextRef FBuildPatchServicesModule::CreateBuildInstallerSharedContext ( const TCHAR DebugName) const
overridevirtual

Factory providing construction of a build installer shared context class.

Parameters
DebugNameUsed to tag resources allocated with the shared context.
Returns
an instance of an IBuildInstallerSharedContex implementation.

Implements IBuildPatchServicesModule.

◆ CreateBuildStatistics()

IBuildStatisticsRef FBuildPatchServicesModule::CreateBuildStatistics ( const IBuildInstallerRef Installer) const
overridevirtual

Factory providing construction of a build statistics class.

Parameters
InstallerThe installer to create a build statistics for.
Returns
an instance of an IBuildStatistics implementation.

Implements IBuildPatchServicesModule.

◆ CreatePatchDataEnumeration()

IPatchDataEnumerationRef FBuildPatchServicesModule::CreatePatchDataEnumeration ( BuildPatchServices::FPatchDataEnumerationConfiguration  Configuration) const
overridevirtual

Factory providing construction of a patch data enumeration class.

Parameters
ConfigurationSpecifies the settings for the operation. See BuildPatchServices::FPatchDataEnumerationConfiguration comments.
Returns
an instance of an IPatchDataEnumeration implementation.

Implements IBuildPatchServicesModule.

◆ DiffManifests()

bool FBuildPatchServicesModule::DiffManifests ( const BuildPatchServices::FDiffManifestsConfiguration Configuration)
overridevirtual

Takes two manifests as input and outputs the details of the patch. NOTE: THIS function is blocking and will not return until finished. Don't run on main thread.

Parameters
ConfigurationSpecifies the settings for the operation. See BuildPatchServices::FDiffManifestsConfiguration comments.
Returns
true if successful.

Implements IBuildPatchServicesModule.

◆ EnumeratePatchData()

bool FBuildPatchServicesModule::EnumeratePatchData ( const BuildPatchServices::FPatchDataEnumerationConfiguration Configuration)
overridevirtual

Saves info for an enumeration of patch data referenced from an input file of known format, to a specified output file. NOTE: THIS function is blocking and will not return until finished.

Parameters
ConfigurationSpecifies the settings for the operation. See BuildPatchServices::FPatchDataEnumerationConfiguration comments.
Returns
true if successful.

Implements IBuildPatchServicesModule.

◆ GetBackupDirectory()

const FString & FBuildPatchServicesModule::GetBackupDirectory ( )
static

Gets the backup directory for saving files clobbered by repair/patch.

Returns
The backup directory

◆ GetCloudDirectories()

TArray< FString > FBuildPatchServicesModule::GetCloudDirectories ( )
static

Gets the cloud directories where chunks and manifests will be pulled from.

Returns
The cloud directories

◆ GetCloudDirectory()

FString FBuildPatchServicesModule::GetCloudDirectory ( int32  CloudIdx = 0)
static

Gets the cloud directory where chunks and manifests will be pulled from.

Parameters
CloudIdxOptional override for which cloud directory to get. This value will wrap within the range of available cloud directories.
Returns
The cloud directory

◆ GetInstalledPrereqIds()

TSet< FString > FBuildPatchServicesModule::GetInstalledPrereqIds ( ) const
overridevirtual

Gets an array of prerequisite identifiers that are registered as installed on this system.

Returns
a set containing all installed prerequisite identifiers.

Implements IBuildPatchServicesModule.

◆ GetInstallers()

const TArray< IBuildInstallerRef > & FBuildPatchServicesModule::GetInstallers ( ) const
overridevirtual

Gets a list of currently active installers

Returns
all installers that are currently active.

Implements IBuildPatchServicesModule.

◆ GetStagingDirectory()

const FString & FBuildPatchServicesModule::GetStagingDirectory ( )
static

Gets the directory used for staging intermediate files.

Returns
The staging directory

◆ LoadManifestFromFile()

IBuildManifestPtr FBuildPatchServicesModule::LoadManifestFromFile ( const FString &  Filename)
overridevirtual

Loads a Build Manifest from file and returns the interface

Parameters
FilenameThe file to load from
Returns
a shared pointer to the manifest, which will be invalid if load failed.

Implements IBuildPatchServicesModule.

◆ MakeManifestFromData()

IBuildManifestPtr FBuildPatchServicesModule::MakeManifestFromData ( const TArray< uint8 > &  ManifestData)
overridevirtual

Constructs a Build Manifest from a data

Parameters
ManifestDataThe data received from a web api
Returns
a shared pointer to the manifest, which will be invalid if creation failed.

Implements IBuildPatchServicesModule.

◆ MakeManifestFromJSON()

PRAGMA_DISABLE_DEPRECATION_WARNINGS IBuildManifestPtr FBuildPatchServicesModule::MakeManifestFromJSON ( const FString &  ManifestJSON)
overridevirtual

◆ MergeManifests()

bool FBuildPatchServicesModule::MergeManifests ( const FString &  ManifestFilePathA,
const FString &  ManifestFilePathB,
const FString &  ManifestFilePathC,
const FString &  NewVersionString,
const FString &  SelectionDetailFilePath 
)
overridevirtual

Takes two manifests as input, in order to merge together producing a new manifest containing all files. NOTE: THIS function is blocking and will not return until finished. Don't run on main thread.

Parameters
ManifestFilePathAA full file path for the base manifest to be loaded.
ManifestFilePathBA full file path for the merge manifest to be loaded, by default files in B will stomp over A.
ManifestFilePathCA full file path for the manifest to be output.
NewVersionStringThe new version string for the build, all other meta will be copied from B.
SelectionDetailFilePathOptional full file path to a text file listing each build relative file required, followed by A or B to select which manifest to pull from. The format should be \r
separated lines of filename \t A|B. Example: File/in/build1 A File/in/build2 B
Returns
true if successful.

Implements IBuildPatchServicesModule.

◆ OnStartBuildInstall()

FBuildPatchServicesModule::FSimpleEvent & FBuildPatchServicesModule::OnStartBuildInstall ( )
overridevirtual

Returns an event which fires when we start a new build install.

Implements IBuildPatchServicesModule.

◆ OptimiseChunkDelta()

bool FBuildPatchServicesModule::OptimiseChunkDelta ( const BuildPatchServices::FChunkDeltaOptimiserConfiguration Configuration)
overridevirtual

Process a pair of manifests to produce additional delta data which reduces the patch directly between them. NOTE: This function is blocking and will not return until finished.

Parameters
ConfigurationSpecifies the settings for the operation. See BuildPatchServices::FChunkDeltaOptimiserConfiguration comments.
Returns
true if successful.

Implements IBuildPatchServicesModule.

◆ PackageChunkData()

bool FBuildPatchServicesModule::PackageChunkData ( const BuildPatchServices::FPackageChunksConfiguration Configuration)
overridevirtual

Packages data referenced by a manifest file into chunkdb files, supporting a maximum filesize per chunkdb. NOTE: THIS function is blocking and will not return until finished. Don't run on main thread.

Parameters
ConfigurationSpecifies the settings for the operation. See BuildPatchServices::FPackageChunksConfiguration comments.
Returns
true if successful.

Implements IBuildPatchServicesModule.

◆ RegisterAppInstallation()

void FBuildPatchServicesModule::RegisterAppInstallation ( IBuildManifestRef  AppManifest,
const FString  AppInstallDirectory 
)
overridevirtual

Registers an installation on this machine. This information is used to gather a list of install locations that can be used as chunk sources.

Parameters
AppManifestRef to the manifest for this installation
AppInstallDirectoryThe install location

Implements IBuildPatchServicesModule.

◆ SaveManifestToFile()

PRAGMA_ENABLE_DEPRECATION_WARNINGS bool FBuildPatchServicesModule::SaveManifestToFile ( const FString &  Filename,
IBuildManifestRef  Manifest 
)
overridevirtual

Saves a Build Manifest to file

Parameters
FilenameThe file to save to
ManifestThe manifest to save out
Returns
If the save was successful.

Implements IBuildPatchServicesModule.

◆ SetAnalyticsProvider()

void FBuildPatchServicesModule::SetAnalyticsProvider ( TSharedPtr< IAnalyticsProvider AnalyticsProvider)
overridevirtual

Sets the Analytics provider that will be used to register errors with patch/build installs

Parameters
AnalyticsProviderShared ptr to an analytics interface to use. If NULL analytics will be disabled.

Implements IBuildPatchServicesModule.

◆ SetBackupDirectory()

void FBuildPatchServicesModule::SetBackupDirectory ( const FString &  BackupDir)
overridevirtual

Sets the backup directory where files that are being clobbered by repair/patch will be placed.

Parameters
BackupDirThe backup directory

Implements IBuildPatchServicesModule.

◆ SetCloudDirectories()

void FBuildPatchServicesModule::SetCloudDirectories ( TArray< FString >  CloudDirs)
overridevirtual

Sets the cloud directory list where chunks and manifests will be pulled from and saved to. When downloading, if we get a failure, we move on to the next cloud option for that request.

Parameters
CloudDirsThe cloud directory list

Implements IBuildPatchServicesModule.

◆ SetCloudDirectory()

void FBuildPatchServicesModule::SetCloudDirectory ( FString  CloudDir)
overridevirtual

Sets the cloud directory where chunks and manifests will be pulled from and saved to.

Parameters
CloudDirThe cloud directory

Implements IBuildPatchServicesModule.

◆ SetStagingDirectory()

void FBuildPatchServicesModule::SetStagingDirectory ( const FString &  StagingDir)
overridevirtual

Sets the directory used for staging intermediate files.

Parameters
StagingDirThe staging directory

Implements IBuildPatchServicesModule.

◆ ShutdownModule()

void FBuildPatchServicesModule::ShutdownModule ( )
overridevirtual

Called before the module is unloaded, right before the module object is destroyed. During normal shutdown, this is called in reverse order that modules finish StartupModule(). This means that, as long as a module references dependent modules in it's StartupModule(), it can safely reference those dependencies in ShutdownModule() as well.

Reimplemented from IModuleInterface.

◆ StartupModule()

void FBuildPatchServicesModule::StartupModule ( )
overridevirtual

Called right after the module DLL has been loaded and the module object has been created Load dependent modules here, and they will be guaranteed to be available during ShutdownModule. ie:

FModuleManager::Get().LoadModuleChecked(TEXT("HTTP"));

Reimplemented from IModuleInterface.

◆ UnregisterAppInstallation()

bool FBuildPatchServicesModule::UnregisterAppInstallation ( const FString  AppInstallDirectory)
overridevirtual

Unregisters an installation on this machine

Parameters
AppInstallDirectoryThe install location which RegisterAppInstallation was executed with
Returns
returns true if successfully removed installation directory

Implements IBuildPatchServicesModule.

◆ VerifyChunkData()

bool FBuildPatchServicesModule::VerifyChunkData ( const FString &  SearchPath,
const FString &  OutputFile 
)
overridevirtual

Searches a given directory for chunk and chunkdb files, and verifies their integrity uses the hashes in the files. NOTE: THIS function is blocking and will not return until finished. Don't run on main thread.

Parameters
SearchPathA full file path for the directory to search.
OutputFileA full file path where to save the output text.
Returns
true if successful and no corruptions detected.

Implements IBuildPatchServicesModule.


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