UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IBuildPatchServicesModule Class Referenceabstract

#include <IBuildPatchServicesModule.h>

+ Inheritance diagram for IBuildPatchServicesModule:

Public Member Functions

virtual ~IBuildPatchServicesModule ()
 
virtual IBuildInstallerRef CreateBuildInstaller (BuildPatchServices::FBuildInstallerConfiguration Configuration, FBuildPatchInstallerDelegate OnComplete) const =0
 
virtual IBuildInstallerSharedContextRef CreateBuildInstallerSharedContext (const TCHAR *DebugName) const =0
 
virtual BuildPatchServices::IBuildStatisticsRef CreateBuildStatistics (const IBuildInstallerRef &Installer) const =0
 
virtual BuildPatchServices::IPatchDataEnumerationRef CreatePatchDataEnumeration (BuildPatchServices::FPatchDataEnumerationConfiguration Configuration) const =0
 
virtual IBuildManifestPtr LoadManifestFromFile (const FString &Filename)=0
 
virtual IBuildManifestPtr MakeManifestFromData (const TArray< uint8 > &ManifestData)=0
 
virtual bool SaveManifestToFile (const FString &Filename, IBuildManifestRef Manifest)=0
 
virtual TSet< FString > GetInstalledPrereqIds () const =0
 
virtual const TArray< IBuildInstallerRef > & GetInstallers () const =0
 
virtual void SetStagingDirectory (const FString &StagingDir)=0
 
virtual void SetCloudDirectory (FString CloudDir)=0
 
virtual void SetCloudDirectories (TArray< FString > CloudDirs)=0
 
virtual void SetBackupDirectory (const FString &BackupDir)=0
 
virtual void SetAnalyticsProvider (TSharedPtr< IAnalyticsProvider > AnalyticsProvider)=0
 
virtual void RegisterAppInstallation (IBuildManifestRef AppManifest, const FString AppInstallDirectory)=0
 
virtual bool UnregisterAppInstallation (const FString AppInstallDirectory)=0
 
virtual void CancelAllInstallers (bool WaitForThreads)=0
 
virtual bool ChunkBuildDirectory (const BuildPatchServices::FChunkBuildConfiguration &Configuration)=0
 
virtual bool OptimiseChunkDelta (const BuildPatchServices::FChunkDeltaOptimiserConfiguration &Configuration)=0
 
virtual bool CompactifyCloudDirectory (const BuildPatchServices::FCompactifyConfiguration &Configuration)=0
 
virtual bool EnumeratePatchData (const BuildPatchServices::FPatchDataEnumerationConfiguration &Configuration)=0
 
virtual bool VerifyChunkData (const FString &SearchPath, const FString &OutputFile)=0
 
virtual bool PackageChunkData (const BuildPatchServices::FPackageChunksConfiguration &Configuration)=0
 
virtual bool MergeManifests (const FString &ManifestFilePathA, const FString &ManifestFilePathB, const FString &ManifestFilePathC, const FString &NewVersionString, const FString &SelectionDetailFilePath)=0
 
virtual bool DiffManifests (const BuildPatchServices::FDiffManifestsConfiguration &Configuration)=0
 
virtual FSimpleEventOnStartBuildInstall ()=0
 
 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 StartupModule ()
 
virtual void PreUnloadCallback ()
 
virtual void PostLoadCallback ()
 
virtual void ShutdownModule ()
 
virtual bool SupportsDynamicReloading ()
 
virtual bool SupportsAutomaticShutdown ()
 
virtual bool IsGameModule () const
 

Public Attributes

IBuildManifestPtr InstallManifest
 
IBuildManifestPtr const FString & InstallDirectory
 
IBuildManifestPtr const FString FBuildPatchBoolManifestDelegate OnCompleteDelegate
 
IBuildManifestPtr const FString FBuildPatchBoolManifestDelegate bool bIsRepair = false
 

Detailed Description

Interface for the services manager.

Constructor & Destructor Documentation

◆ ~IBuildPatchServicesModule()

virtual IBuildPatchServicesModule::~IBuildPatchServicesModule ( )
inlinevirtual

Virtual destructor.

Member Function Documentation

◆ CancelAllInstallers()

virtual void IBuildPatchServicesModule::CancelAllInstallers ( bool  WaitForThreads)
pure virtual

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

Implemented in FBuildPatchServicesModule.

◆ ChunkBuildDirectory()

virtual bool IBuildPatchServicesModule::ChunkBuildDirectory ( const BuildPatchServices::FChunkBuildConfiguration Configuration)
pure virtual

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.

Implemented in FBuildPatchServicesModule.

◆ CompactifyCloudDirectory()

virtual bool IBuildPatchServicesModule::CompactifyCloudDirectory ( const BuildPatchServices::FCompactifyConfiguration Configuration)
pure virtual

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.

Implemented in FBuildPatchServicesModule.

◆ CreateBuildInstaller()

virtual IBuildInstallerRef IBuildPatchServicesModule::CreateBuildInstaller ( BuildPatchServices::FBuildInstallerConfiguration  Configuration,
FBuildPatchInstallerDelegate  OnComplete 
) const
pure virtual

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.

Implemented in FBuildPatchServicesModule.

◆ CreateBuildInstallerSharedContext()

virtual IBuildInstallerSharedContextRef IBuildPatchServicesModule::CreateBuildInstallerSharedContext ( const TCHAR DebugName) const
pure virtual

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.

Implemented in FBuildPatchServicesModule.

◆ CreateBuildStatistics()

virtual BuildPatchServices::IBuildStatisticsRef IBuildPatchServicesModule::CreateBuildStatistics ( const IBuildInstallerRef Installer) const
pure virtual

Factory providing construction of a build statistics class.

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

Implemented in FBuildPatchServicesModule.

◆ CreatePatchDataEnumeration()

virtual BuildPatchServices::IPatchDataEnumerationRef IBuildPatchServicesModule::CreatePatchDataEnumeration ( BuildPatchServices::FPatchDataEnumerationConfiguration  Configuration) const
pure virtual

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.

Implemented in FBuildPatchServicesModule.

◆ DiffManifests()

virtual bool IBuildPatchServicesModule::DiffManifests ( const BuildPatchServices::FDiffManifestsConfiguration Configuration)
pure virtual

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.

Implemented in FBuildPatchServicesModule.

◆ EnumeratePatchData()

virtual bool IBuildPatchServicesModule::EnumeratePatchData ( const BuildPatchServices::FPatchDataEnumerationConfiguration Configuration)
pure virtual

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.

Implemented in FBuildPatchServicesModule.

◆ GenerateChunksManifestFromDirectory()

virtual bool IBuildPatchServicesModule::GenerateChunksManifestFromDirectory ( const BuildPatchServices::FGenerationConfiguration &  Configuration)
inlinevirtual

◆ GetInstalledPrereqIds()

virtual TSet< FString > IBuildPatchServicesModule::GetInstalledPrereqIds ( ) const
pure virtual

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

Returns
a set containing all installed prerequisite identifiers.

Implemented in FBuildPatchServicesModule.

◆ GetInstallers()

virtual const TArray< IBuildInstallerRef > & IBuildPatchServicesModule::GetInstallers ( ) const
pure virtual

Gets a list of currently active installers

Returns
all installers that are currently active.

Implemented in FBuildPatchServicesModule.

◆ LoadManifestFromFile()

virtual IBuildManifestPtr IBuildPatchServicesModule::LoadManifestFromFile ( const FString &  Filename)
pure virtual

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.

Implemented in FBuildPatchServicesModule.

◆ MakeManifestFromData()

virtual IBuildManifestPtr IBuildPatchServicesModule::MakeManifestFromData ( const TArray< uint8 > &  ManifestData)
pure virtual

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.

Implemented in FBuildPatchServicesModule.

◆ MergeManifests()

virtual bool IBuildPatchServicesModule::MergeManifests ( const FString &  ManifestFilePathA,
const FString &  ManifestFilePathB,
const FString &  ManifestFilePathC,
const FString &  NewVersionString,
const FString &  SelectionDetailFilePath 
)
pure virtual

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.

Implemented in FBuildPatchServicesModule.

◆ OnStartBuildInstall()

virtual FSimpleEvent & IBuildPatchServicesModule::OnStartBuildInstall ( )
pure virtual

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

Implemented in FBuildPatchServicesModule.

◆ OptimiseChunkDelta()

virtual bool IBuildPatchServicesModule::OptimiseChunkDelta ( const BuildPatchServices::FChunkDeltaOptimiserConfiguration Configuration)
pure virtual

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.

Implemented in FBuildPatchServicesModule.

◆ PackageChunkData()

virtual bool IBuildPatchServicesModule::PackageChunkData ( const BuildPatchServices::FPackageChunksConfiguration Configuration)
pure virtual

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.

Implemented in FBuildPatchServicesModule.

◆ RegisterAppInstallation()

virtual void IBuildPatchServicesModule::RegisterAppInstallation ( IBuildManifestRef  AppManifest,
const FString  AppInstallDirectory 
)
pure virtual

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

Implemented in FBuildPatchServicesModule.

◆ SaveManifestToFile()

virtual bool IBuildPatchServicesModule::SaveManifestToFile ( const FString &  Filename,
IBuildManifestRef  Manifest 
)
pure virtual

Saves a Build Manifest to file

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

Implemented in FBuildPatchServicesModule.

◆ SetAnalyticsProvider()

virtual void IBuildPatchServicesModule::SetAnalyticsProvider ( TSharedPtr< IAnalyticsProvider AnalyticsProvider)
pure virtual

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.

Implemented in FBuildPatchServicesModule.

◆ SetBackupDirectory()

virtual void IBuildPatchServicesModule::SetBackupDirectory ( const FString &  BackupDir)
pure virtual

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

Parameters
BackupDirThe backup directory

Implemented in FBuildPatchServicesModule.

◆ SetCloudDirectories()

virtual void IBuildPatchServicesModule::SetCloudDirectories ( TArray< FString >  CloudDirs)
pure virtual

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

Implemented in FBuildPatchServicesModule.

◆ SetCloudDirectory()

virtual void IBuildPatchServicesModule::SetCloudDirectory ( FString  CloudDir)
pure virtual

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

Parameters
CloudDirThe cloud directory

Implemented in FBuildPatchServicesModule.

◆ SetStagingDirectory()

virtual void IBuildPatchServicesModule::SetStagingDirectory ( const FString &  StagingDir)
pure virtual

Sets the directory used for staging intermediate files.

Parameters
StagingDirThe staging directory

Implemented in FBuildPatchServicesModule.

◆ UE_DEPRECATED() [1/2]

IBuildPatchServicesModule::UE_DEPRECATED ( 4.  21,
"MakeManifestFromJSON(const FString& ManifestJSON) has been deprecated. Please use MakeManifestFromData(const TArray<uint8>& ManifestData) instead."   
) const &
pure virtual

◆ UE_DEPRECATED() [2/2]

IBuildPatchServicesModule::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."   
)

◆ UnregisterAppInstallation()

virtual bool IBuildPatchServicesModule::UnregisterAppInstallation ( const FString  AppInstallDirectory)
pure virtual

Unregisters an installation on this machine

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

Implemented in FBuildPatchServicesModule.

◆ VerifyChunkData()

virtual bool IBuildPatchServicesModule::VerifyChunkData ( const FString &  SearchPath,
const FString &  OutputFile 
)
pure virtual

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.

Implemented in FBuildPatchServicesModule.

Member Data Documentation

◆ bIsRepair

IBuildManifestPtr const FString FBuildPatchBoolManifestDelegate bool IBuildPatchServicesModule::bIsRepair = false

◆ InstallDirectory

IBuildManifestPtr const FString& IBuildPatchServicesModule::InstallDirectory

◆ InstallManifest

IBuildManifestPtr IBuildPatchServicesModule::InstallManifest

◆ OnCompleteDelegate

IBuildManifestPtr const FString FBuildPatchBoolManifestDelegate IBuildPatchServicesModule::OnCompleteDelegate

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