UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ManifestUObject.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreMinimal.h"
6#include "UObject/Object.h"
7#include "Misc/Guid.h"
8#include "Misc/SecureHash.h"
9#include "ManifestUObject.generated.h"
10
16#ifndef BUILDPATCHSERVICES_NOUOBJECT
17#define BUILDPATCHSERVICES_NOUOBJECT 0
18#endif
19
21
22USTRUCT()
24{
25public:
28 FCustomFieldData(const FString& Key, const FString& Value);
29
30public:
31 UPROPERTY()
32 FString Key;
33
34 UPROPERTY()
35 FString Value;
36};
37
38USTRUCT()
40{
41public:
44
45public:
46 UPROPERTY()
47 uint8 Hash[FSHA1::DigestSize];
48
49};
50static_assert(FSHA1::DigestSize == 20, "If this changes a lot of stuff here will break!");
51
52USTRUCT()
54{
55public:
58
59public:
60 UPROPERTY()
62
63 UPROPERTY()
65
66 UPROPERTY()
67 FSHAHashData ShaHash;
68
69 UPROPERTY()
70 int64 FileSize;
71
72 UPROPERTY()
73 uint8 GroupNumber;
74};
75
76USTRUCT()
93
94USTRUCT()
96{
97public:
100
101public:
102 UPROPERTY()
103 FString Filename;
104
105 UPROPERTY()
106 FSHAHashData FileHash;
107
108 UPROPERTY()
109 TArray<FChunkPartData> FileChunkParts;
110
111 UPROPERTY()
112 TArray<FString> InstallTags;
113
114 UPROPERTY()
115 bool bIsUnixExecutable;
116
117 UPROPERTY()
118 FString SymlinkTarget;
119
120 UPROPERTY()
121 bool bIsReadOnly;
122
123 UPROPERTY()
124 bool bIsCompressed;
125};
126
127UCLASS()
129{
130public:
133
134public:
135 UPROPERTY()
136 uint8 ManifestFileVersion;
137
138 UPROPERTY()
139 bool bIsFileData;
140
141 UPROPERTY()
142 uint32 AppID;
143
144 UPROPERTY()
145 FString AppName;
146
147 UPROPERTY()
148 FString BuildVersion;
149
150 UPROPERTY()
151 FString LaunchExe;
152
153 UPROPERTY()
154 FString LaunchCommand;
155
156 UPROPERTY()
157 TSet<FString> PrereqIds;
158
159 UPROPERTY()
160 FString PrereqName;
161
162 UPROPERTY()
163 FString PrereqPath;
164
165 UPROPERTY()
166 FString PrereqArgs;
167
168 UPROPERTY()
170
171 UPROPERTY()
173
174 UPROPERTY()
176};
177
179{
180public:
181 static void Init();
182 static bool LoadFromMemory(const TArray<uint8>& DataInput, FBuildPatchAppManifest& AppManifest);
183 static bool SaveToArchive(FArchive& Ar, const FBuildPatchAppManifest& AppManifest);
184
185private:
186 static bool LoadInternal(FArchive& Ar, FBuildPatchAppManifest& AppManifest);
187 static bool SaveInternal(FArchive& Ar, const FBuildPatchAppManifest& AppManifest);
188};
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition Platform.h:1127
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
void Init()
Definition LockFreeList.h:4
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
uint32 Offset
Definition VulkanMemory.cpp:4033
uint32 Size
Definition VulkanMemory.cpp:4034
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Archive.h:1208
Definition BuildPatchManifest.h:64
BuildPatchServices::FFileManifestList FileManifestList
Definition BuildPatchManifest.h:357
BuildPatchServices::FCustomFields CustomFields
Definition BuildPatchManifest.h:358
Definition ManifestUObject.h:179
Definition SecureHash.h:314
Definition Array.h:670
Definition ManifestUObject.h:129
Definition Object.h:95
Definition ManifestUObject.h:54
Definition ManifestUObject.h:78
Definition ManifestUObject.h:24
Definition ManifestUObject.h:96
Definition Guid.h:109
Definition ManifestUObject.h:40