UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
BuildPatchServices Class Reference
+ Inheritance diagram for BuildPatchServices:

Public Types

enum  EConstructorChunkLocation : uint8 {
  Install , ChunkDb , Memory , DiskOverflow ,
  Cloud , Retired , COUNT
}
 
enum class  EInstallActionIntent : int32 {
  Install , Update , Repair , Uninstall ,
  Invalid
}
 
enum class  EAttributeFlags : uint32 {
  None = 0 , Exists = 1 << 0 , ReadOnly = 1 << 1 , Compressed = 1 << 2 ,
  Executable = 1 << 3
}
 
enum class  EWriteFlags : uint32 {
  None = 0 , NoFail = 1 << 0 , NoReplaceExisting = 1 << 1 , EvenIfReadOnly = 1 << 2 ,
  Append = 1 << 3 , AllowRead = 1 << 4
}
 
enum class  EReadFlags : uint32 { None = 0 , NoFail = 1 << 0 , Silent = 1 << 1 , AllowWrite = 1 << 2 }
 
enum class  EStatFormat : uint8 {
  Timer , DataSize , DataSpeed , Percentage ,
  Value
}
 
enum class  EChunkVersion : uint32 {
  Invalid = 0 , Original , StoresShaAndHashType , StoresDataSizeUncompressed ,
  LatestPlusOne , Latest = (LatestPlusOne - 1)
}
 
enum class  EChunkDatabaseVersion : uint32 { Invalid = 0 , Original , LatestPlusOne , Latest = (LatestPlusOne - 1) }
 
enum class  EChunkStorageFlags : uint8 { None = 0x00 , Compressed = 0x01 , Encrypted = 0x02 }
 
enum class  EChunkHashFlags : uint8 { None = 0x00 , RollingPoly64 = 0x01 , Sha1 = 0x02 }
 
enum class  EChunkLoadResult : uint8 {
  Success = 0 , OpenFileFail , BadArchive , CorruptHeader ,
  IncorrectFileSize , UnsupportedStorage , MissingHashInfo , SerializationError ,
  DecompressFailure , HashCheckFailed , FileSizeTooBig , Aborted
}
 
enum class  EChunkSaveResult : uint8 { Success = 0 , FileCreateFail , BadArchive , SerializationError }
 
enum class  EManifestMetaVersion : uint8 { Original = 0 , SerialisesBuildId , LatestPlusOne , Latest = (LatestPlusOne - 1) }
 
enum class  EChunkDataListVersion : uint8 { Original = 0 , LatestPlusOne , Latest = (LatestPlusOne - 1) }
 
enum class  EFileManifestListVersion : uint8 { Original = 0 , LatestPlusOne , Latest = (LatestPlusOne - 1) }
 
enum class  EManifestStorageFlags : uint8 { None = 0 , Compressed = 1 , Encrypted = 1 << 1 }
 
enum class  EFileMetaFlags : uint8 { None = 0 , ReadOnly = 1 , Compressed = 1 << 1 , UnixExecutable = 1 << 2 }
 
enum  { FileBufferSize = 1024 * 1024 * 10 , StreamBufferSize = 1024 * 1024 * 100 }
 
enum class  EVerifyResult : uint32 {
  Success = 0 , Aborted , FileMissing , OpenFileFailed ,
  HashCheckFailed , FileSizeFailed
}
 
enum class  EDeltaPolicy : uint32 { TryFetchContinueWithout = 0 , Expect , Skip , InvalidOrMax }
 
enum class  EFeatureLevel : int32 {
  Original = 0 , CustomFields , StartStoringVersion , DataFileRenames ,
  StoresIfChunkOrFileData , StoresDataGroupNumbers , ChunkCompressionSupport , StoresPrerequisitesInfo ,
  StoresChunkFileSizes , StoredAsCompressedUClass , UNUSED_0 , UNUSED_1 ,
  StoresChunkDataShaHashes , StoresPrerequisiteIds , StoredAsBinaryData , VariableSizeChunksWithoutWindowSizeChunkInfo ,
  VariableSizeChunks , UsesRuntimeGeneratedBuildId , UsesBuildTimeGeneratedBuildId , LatestPlusOne ,
  Latest = (LatestPlusOne - 1) , LatestNoChunks = StoresChunkFileSizes , LatestJson = StoresPrerequisiteIds , FirstOptimisedDelta = UsesRuntimeGeneratedBuildId ,
  StoresUniqueBuildId = UsesRuntimeGeneratedBuildId , BrokenJsonVersion = 255 , Invalid = -1
}
 
enum class  EInstallMode : uint32 {
  StageFiles = 0 , DestructiveInstall , NonDestructiveInstall , PrereqOnly ,
  InvalidOrMax
}
 
enum class  EMessageRequests : uint32 { None = 0 , ChunkUriRequest = 0x1 }
 
enum class  EBuildPatchState : uint32 {
  Queued = 0 , Initializing , Resuming , Downloading ,
  Installing , MovingToInstall , SettingAttributes , BuildVerification ,
  CleanUp , PrerequisitesInstall , Completed , Paused ,
  NUM_PROGRESS_STATES
}
 
enum class  EVerifyMode : uint32 {
  ShaVerifyAllFiles = 0 , ShaVerifyTouchedFiles , FileSizeCheckAllFiles , FileSizeCheckTouchedFiles ,
  InvalidOrMax
}
 
enum class  EVerifyError : uint32 {
  FileMissing = 0 , OpenFileFailed , HashCheckFailed , FileSizeFailed ,
  InvalidOrMax
}
 
enum class  EFileOperationState : int32 {
  Unknown = 0 , PendingLocalChunkDbData , RetrievingLocalChunkDbData , PendingLocalInstallData ,
  RetrievingLocalInstallData , PendingRemoteCloudData , RetrievingRemoteCloudData , PendingLocalDataStore ,
  RetrievingLocalDataStore , DataInMemoryStore , Staged , Installed ,
  Verifying , VerifiedFail , VerifiedSuccess , NUM_States ,
  Complete = NUM_States - 1
}
 
typedef FThreadSafeCounter64 FThreadSafeInt64
 
typedef FThreadSafeCounter FThreadSafeInt32
 
typedef TPlatform< FPlatformProcess, FPlatformMiscFPlatform
 
typedef TProcessTimer< class FStatsCollector > FProcessTimer
 
typedef TTuple< TArray< uint8 >, FGuid, uint64, FSHAHashFChunkDataJob
 
typedef TTuple< FGuid, int64FChunkOutputSize
 
typedef TTuple< FGuid, uint64FChunkOutputHash
 
typedef TTuple< FGuid, FSHAHashFChunkOutputSha
 
typedef TTuple< FBlockRange, FFilenameId, TSet< FString >, uint64FScannerFileElement
 
typedef TDoubleLinkedList< FScannerFileElementFScannerFilesList
 
typedef FScannerFilesList::TDoubleLinkedListNode FScannerFilesListNode
 
typedef FGuid FDeltaChunkId
 
typedef FSetElementId FFilenameId
 
typedef FSetElementId FShaId
 
typedef TTuple< TArray< FChunkPart >, FFilenameId, TSet< FString >, uint64FChunkBuildReference
 
typedef TSharedRef< FFileAttributesParser, ESPMode::ThreadSafeFFileAttributesParserRef
 
typedef TSharedPtr< FFileAttributesParser, ESPMode::ThreadSafeFFileAttributesParserPtr
 
typedef TSharedRef< IManifestBuilder > IManifestBuilderRef
 
typedef TSharedPtr< IManifestBuilder > IManifestBuilderPtr
 
typedef TSharedRef< IDownload, ESPMode::ThreadSafeFDownloadRef
 
typedef TUnion< FChunkSourceEvent, FInstallationFileAction, FGenericMessage > FMessageUnion
 
typedef TQueue< FMessageUnion, EQueueMode::MpscFMessageQueue
 
typedef TTuple< FChunkUriRequest, TFunction< void(FChunkUriResponse)> > FChunkUriRequestResponse
 
typedef TQueue< FChunkUriRequestResponse, EQueueMode::MpscFChunkUriQueue
 
typedef TTuple< TArray< FFileOperation >, TArray< FFileOperation > > FOperationInitialiser
 
typedef TTuple< FGuid, EFileOperationStateFDataState
 
typedef TTuple< FString, EFileOperationStateFFileState
 
typedef TTuple< FString, FByteRange, EFileOperationStateFFileByteRangeState
 
typedef TUnion< FOperationInitialiser, FDataState, FFileState, FFileByteRangeStateFUpdateMessage
 
typedef TTuple< uint64, uint64FByteRange
 
typedef FChunkBuildConfiguration FGenerationConfiguration
 
typedef TSharedPtr< IBuildStatistics > IBuildStatisticsPtr
 
typedef TSharedRef< IBuildStatistics > IBuildStatisticsRef
 
typedef TSharedPtr< IPatchDataEnumeration > IPatchDataEnumerationPtr
 
typedef TSharedRef< IPatchDataEnumeration > IPatchDataEnumerationRef
 

Public Member Functions

 BuildPatchServices (ReadOnlyTargetRules Target)
 

Public Attributes

const double ToPercentage = 10000
 
const double FromPercentage = 1 / ToPercentage
 
const int32 FileReaderBufferSize = 2097152
 
const TArray< uint8NoData
 

Static Public Attributes

static const uint32 ChunkHeaderVersionSizes [(uint32) EChunkVersion::LatestPlusOne]
 
static const uint32 ChunkDatabaseHeaderVersionSizes [(uint32) EChunkDatabaseVersion::LatestPlusOne]
 
static const uint32 LegacyFixedChunkWindow = 1024 * 1024
 
static const uint32 ManifestHeaderVersionSizes [(int32) EFeatureLevel::LatestPlusOne]
 
static const int32 DataMessageBufferSize = 1024 * 1024 * 2
 

Member Typedef Documentation

◆ FByteRange

typedef TTuple<uint64, uint64> BuildPatchServices.FByteRange

◆ FChunkBuildReference

typedef TTuple<TArray<FChunkPart>, FFilenameId, TSet<FString>, uint64> BuildPatchServices.FChunkBuildReference

◆ FChunkDataJob

typedef TTuple<TArray<uint8>, FGuid, uint64, FSHAHash> BuildPatchServices.FChunkDataJob

◆ FChunkOutputHash

typedef TTuple<FGuid, uint64> BuildPatchServices.FChunkOutputHash

◆ FChunkOutputSha

typedef TTuple<FGuid, FSHAHash> BuildPatchServices.FChunkOutputSha

◆ FChunkOutputSize

typedef TTuple<FGuid, int64> BuildPatchServices.FChunkOutputSize

◆ FChunkUriQueue

typedef TQueue<FChunkUriRequestResponse, EQueueMode::Mpsc> BuildPatchServices.FChunkUriQueue

◆ FChunkUriRequestResponse

typedef TTuple<FChunkUriRequest, TFunction<void(FChunkUriResponse)> > BuildPatchServices.FChunkUriRequestResponse

◆ FDataState

typedef TTuple<FGuid, EFileOperationState> BuildPatchServices.FDataState

◆ FDeltaChunkId

typedef FGuid BuildPatchServices.FDeltaChunkId

◆ FDownloadRef

typedef TSharedRef<IDownload, ESPMode::ThreadSafe> BuildPatchServices.FDownloadRef

◆ FFileAttributesParserPtr

typedef TSharedPtr<FFileAttributesParser, ESPMode::ThreadSafe> BuildPatchServices.FFileAttributesParserPtr

◆ FFileAttributesParserRef

typedef TSharedRef<FFileAttributesParser, ESPMode::ThreadSafe> BuildPatchServices.FFileAttributesParserRef

◆ FFileByteRangeState

typedef TTuple<FString, FByteRange, EFileOperationState> BuildPatchServices.FFileByteRangeState

◆ FFilenameId

typedef FSetElementId BuildPatchServices.FFilenameId

◆ FFileState

typedef TTuple<FString, EFileOperationState> BuildPatchServices.FFileState

◆ FGenerationConfiguration

typedef FChunkBuildConfiguration BuildPatchServices.FGenerationConfiguration

◆ FMessageQueue

typedef TQueue<FMessageUnion, EQueueMode::Mpsc> BuildPatchServices.FMessageQueue

◆ FMessageUnion

typedef TUnion<FChunkSourceEvent, FInstallationFileAction, FGenericMessage> BuildPatchServices.FMessageUnion

◆ FOperationInitialiser

typedef TTuple<TArray<FFileOperation>, TArray<FFileOperation> > BuildPatchServices.FOperationInitialiser

◆ FPlatform

typedef TPlatform<FPlatformProcess, FPlatformMisc> BuildPatchServices.FPlatform

◆ FProcessTimer

typedef TProcessTimer<class FStatsCollector> BuildPatchServices.FProcessTimer

◆ FScannerFileElement

typedef TTuple<FBlockRange, FFilenameId, TSet<FString>, uint64> BuildPatchServices.FScannerFileElement

◆ FScannerFilesList

typedef TDoubleLinkedList<FScannerFileElement> BuildPatchServices.FScannerFilesList

◆ FScannerFilesListNode

typedef FScannerFilesList::TDoubleLinkedListNode BuildPatchServices.FScannerFilesListNode

◆ FShaId

typedef FSetElementId BuildPatchServices.FShaId

◆ FThreadSafeInt32

typedef FThreadSafeCounter BuildPatchServices.FThreadSafeInt32

◆ FThreadSafeInt64

typedef FThreadSafeCounter64 BuildPatchServices.FThreadSafeInt64

◆ FUpdateMessage

◆ IBuildStatisticsPtr

typedef TSharedPtr<IBuildStatistics> BuildPatchServices.IBuildStatisticsPtr

◆ IBuildStatisticsRef

typedef TSharedRef<IBuildStatistics> BuildPatchServices.IBuildStatisticsRef

◆ IManifestBuilderPtr

typedef TSharedPtr<IManifestBuilder> BuildPatchServices.IManifestBuilderPtr

◆ IManifestBuilderRef

typedef TSharedRef<IManifestBuilder> BuildPatchServices.IManifestBuilderRef

◆ IPatchDataEnumerationPtr

typedef TSharedPtr<IPatchDataEnumeration> BuildPatchServices.IPatchDataEnumerationPtr

◆ IPatchDataEnumerationRef

typedef TSharedRef<IPatchDataEnumeration> BuildPatchServices.IPatchDataEnumerationRef

Member Enumeration Documentation

◆ anonymous enum

Enumerator
FileBufferSize 
StreamBufferSize 

◆ EAttributeFlags

enum class BuildPatchServices::EAttributeFlags : uint32
strong
Enumerator
None 
Exists 
ReadOnly 
Compressed 
Executable 

◆ EBuildPatchState

enum class BuildPatchServices::EBuildPatchState : uint32
strong

Namespace to declares the progress type enum

Enumerator
Queued 
Initializing 
Resuming 
Downloading 
Installing 
MovingToInstall 
SettingAttributes 
BuildVerification 
CleanUp 
PrerequisitesInstall 
Completed 
Paused 
NUM_PROGRESS_STATES 

◆ EChunkDatabaseVersion

enum class BuildPatchServices::EChunkDatabaseVersion : uint32
strong

Enum which describes the chunk database header version.

Enumerator
Invalid 
Original 
LatestPlusOne 
Latest 

◆ EChunkDataListVersion

enum class BuildPatchServices::EChunkDataListVersion : uint8
strong

Enum which describes the FChunkDataList data version.

Enumerator
Original 
LatestPlusOne 
Latest 

◆ EChunkHashFlags

enum class BuildPatchServices::EChunkHashFlags : uint8
strong

Declares flags for chunk headers which specify storage types.

Enumerator
None 
RollingPoly64 
Sha1 

◆ EChunkLoadResult

enum class BuildPatchServices::EChunkLoadResult : uint8
strong

Enum which describes success, or the reason for failure when loading a chunk.

Enumerator
Success 
OpenFileFail 
BadArchive 
CorruptHeader 
IncorrectFileSize 
UnsupportedStorage 
MissingHashInfo 
SerializationError 
DecompressFailure 
HashCheckFailed 
FileSizeTooBig 
Aborted 

◆ EChunkSaveResult

enum class BuildPatchServices::EChunkSaveResult : uint8
strong

Enum which describes success, or the reason for failure when saving a chunk.

Enumerator
Success 
FileCreateFail 
BadArchive 
SerializationError 

◆ EChunkStorageFlags

enum class BuildPatchServices::EChunkStorageFlags : uint8
strong

Declares flags for chunk headers which specify storage types.

Enumerator
None 
Compressed 
Encrypted 

◆ EChunkVersion

enum class BuildPatchServices::EChunkVersion : uint32
strong

Enum which describes the chunk header version.

Enumerator
Invalid 
Original 
StoresShaAndHashType 
StoresDataSizeUncompressed 
LatestPlusOne 
Latest 

◆ EConstructorChunkLocation

enum BuildPatchServices::EConstructorChunkLocation : uint8
Enumerator
Install 
ChunkDb 
Memory 
DiskOverflow 
Cloud 
Retired 
COUNT 

◆ EDeltaPolicy

enum class BuildPatchServices::EDeltaPolicy : uint32
strong

An enum defining the desired policy for requesting an optimised delta.

Enumerator
TryFetchContinueWithout 
Expect 
Skip 
InvalidOrMax 

◆ EFeatureLevel

enum class BuildPatchServices::EFeatureLevel : int32
strong

An enum type to describe supported features of a certain manifest.

Enumerator
Original 
CustomFields 
StartStoringVersion 
DataFileRenames 
StoresIfChunkOrFileData 
StoresDataGroupNumbers 
ChunkCompressionSupport 
StoresPrerequisitesInfo 
StoresChunkFileSizes 
StoredAsCompressedUClass 
UNUSED_0 
UNUSED_1 
StoresChunkDataShaHashes 
StoresPrerequisiteIds 
StoredAsBinaryData 
VariableSizeChunksWithoutWindowSizeChunkInfo 
VariableSizeChunks 
UsesRuntimeGeneratedBuildId 
UsesBuildTimeGeneratedBuildId 
LatestPlusOne 
Latest 
LatestNoChunks 
LatestJson 
FirstOptimisedDelta 
StoresUniqueBuildId 
BrokenJsonVersion 
Invalid 

◆ EFileManifestListVersion

enum class BuildPatchServices::EFileManifestListVersion : uint8
strong

Enum which describes the FFileManifestList data version.

Enumerator
Original 
LatestPlusOne 
Latest 

◆ EFileMetaFlags

enum class BuildPatchServices::EFileMetaFlags : uint8
strong

Declares flags for manifest headers which specify storage types.

Enumerator
None 
ReadOnly 
Compressed 
UnixExecutable 

◆ EFileOperationState

enum class BuildPatchServices::EFileOperationState : int32
strong

An enum describing the current state of the data for a file operation that has or will be processed.

Enumerator
Unknown 
PendingLocalChunkDbData 
RetrievingLocalChunkDbData 
PendingLocalInstallData 
RetrievingLocalInstallData 
PendingRemoteCloudData 
RetrievingRemoteCloudData 
PendingLocalDataStore 
RetrievingLocalDataStore 
DataInMemoryStore 
Staged 
Installed 
Verifying 
VerifiedFail 
VerifiedSuccess 
NUM_States 
Complete 

◆ EInstallActionIntent

enum class BuildPatchServices::EInstallActionIntent : int32
strong
Enumerator
Install 
Update 
Repair 
Uninstall 
Invalid 

◆ EInstallMode

enum class BuildPatchServices::EInstallMode : uint32
strong

An enum defining the installation mode that should be used.

Enumerator
StageFiles 
DestructiveInstall 
NonDestructiveInstall 
PrereqOnly 
InvalidOrMax 

◆ EManifestMetaVersion

enum class BuildPatchServices::EManifestMetaVersion : uint8
strong

Enum which describes the FManifestMeta data version.

Enumerator
Original 
SerialisesBuildId 
LatestPlusOne 
Latest 

◆ EManifestStorageFlags

enum class BuildPatchServices::EManifestStorageFlags : uint8
strong

A flags enum for manifest headers which specify storage types.

Enumerator
None 
Compressed 
Encrypted 

◆ EMessageRequests

enum class BuildPatchServices::EMessageRequests : uint32
strong
Enumerator
None 
ChunkUriRequest 

◆ EReadFlags

enum class BuildPatchServices::EReadFlags : uint32
strong
Enumerator
None 
NoFail 
Silent 
AllowWrite 

◆ EStatFormat

enum class BuildPatchServices::EStatFormat : uint8
strong
Enumerator
Timer 
DataSize 
DataSpeed 
Percentage 
Value 

◆ EVerifyError

enum class BuildPatchServices::EVerifyError : uint32
strong

An enum defining the possible causes for a verification failure.

Enumerator
FileMissing 
OpenFileFailed 
HashCheckFailed 
FileSizeFailed 
InvalidOrMax 

◆ EVerifyMode

enum class BuildPatchServices::EVerifyMode : uint32
strong

An enum defining the verification mode that should be used.

Enumerator
ShaVerifyAllFiles 
ShaVerifyTouchedFiles 
FileSizeCheckAllFiles 
FileSizeCheckTouchedFiles 
InvalidOrMax 

◆ EVerifyResult

enum class BuildPatchServices::EVerifyResult : uint32
strong

An enum defining the result of a verification process.

Enumerator
Success 
Aborted 
FileMissing 
OpenFileFailed 
HashCheckFailed 
FileSizeFailed 

◆ EWriteFlags

enum class BuildPatchServices::EWriteFlags : uint32
strong
Enumerator
None 
NoFail 
NoReplaceExisting 
EvenIfReadOnly 
Append 
AllowRead 

Constructor & Destructor Documentation

◆ BuildPatchServices()

BuildPatchServices.BuildPatchServices ( ReadOnlyTargetRules  Target)
inline

Member Data Documentation

◆ ChunkDatabaseHeaderVersionSizes

const uint32 BuildPatchServices.ChunkDatabaseHeaderVersionSizes[(uint32) EChunkDatabaseVersion::LatestPlusOne]
static
Initial value:
=
{
0,
24
}

◆ ChunkHeaderVersionSizes

const uint32 BuildPatchServices.ChunkHeaderVersionSizes[(uint32) EChunkVersion::LatestPlusOne]
static
Initial value:
=
{
0,
41,
62,
66
}

◆ DataMessageBufferSize

const int32 BuildPatchServices.DataMessageBufferSize = 1024 * 1024 * 2
static

◆ FileReaderBufferSize

const int32 BuildPatchServices.FileReaderBufferSize = 2097152

◆ FromPercentage

const double BuildPatchServices.FromPercentage = 1 / ToPercentage

◆ LegacyFixedChunkWindow

const uint32 BuildPatchServices.LegacyFixedChunkWindow = 1024 * 1024
static

◆ ManifestHeaderVersionSizes

const uint32 BuildPatchServices.ManifestHeaderVersionSizes[(int32) EFeatureLevel::LatestPlusOne]
static
Initial value:
=
{
37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
41, 41, 41, 41, 41
}

◆ NoData

const TArray<uint8> BuildPatchServices.NoData

◆ ToPercentage

const double BuildPatchServices.ToPercentage = 10000

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