UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PackageFileSummary.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Array.h"
7#include "CoreMinimal.h"
8#include "CoreTypes.h"
9#include "IO/IoHash.h"
10#include "Misc/EngineVersion.h"
11#include "Misc/Guid.h"
15
16#if WITH_EDITORONLY_DATA
17#include "IO/IoHash.h"
18#endif
19
20class FArchive;
21struct FCompressedChunk;
22
23/*----------------------------------------------------------------------------
24 Items stored in Unrealfiles.
25----------------------------------------------------------------------------*/
26
30//@todo: shouldn't need ExportCount/NameCount with the linker free package map; if so, clean this stuff up
52
57{
62
63private:
64 /* UE file version */
65 FPackageFileVersion FileVersionUE;
66 /* Licensee file version */
67 int32 FileVersionLicenseeUE;
68 /* Custom version numbers. Keyed off a unique tag for each custom component. */
69 FCustomVersionContainer CustomVersionContainer;
70
74 uint32 PackageFlags;
75
76public:
82
86 FString PackageName;
87
92
97
103
108
114
119
124
129
134
139
144
149
154
159
164
169
174
179
184
189
194
199
204
205private:
209 FIoHash SavedHash;
210
211public:
212#if WITH_EDITORONLY_DATA
216 FGuid PersistentGuid;
217#endif
218
223
228
234
239
244
250
255
262
267
269
274
279
284
289
292
293 // Workaround for clang deprecation warnings for deprecated members in implicit constructors
300
302 {
303 return FileVersionUE;
304 }
305
306 UE_DEPRECATED(5.0, "Use UEVer instead which returns the version as a FPackageFileVersion. See the @FPackageFileVersion documentation for further details")
308 {
309 return FileVersionUE.FileVersionUE4;
310 }
311
313 {
314 return FileVersionLicenseeUE;
315 }
316
317 UE_DEPRECATED(5.0, "Use GetFileVersionLicenseeUE instead")
322
324 {
325 return CustomVersionContainer;
326 }
327
329
331 COREUOBJECT_API void SetFileVersions(const int32 EpicUE4, const int32 EpicUE5, const int32 LicenseeUE, const bool bInSaveUnversioned = false);
332
333 UE_DEPRECATED(5.0, "Use the other overload of SetFileVersions that takes an UE5 version as well")
338
341 {
342 FileVersionUE = GPackageFileUEVersion;
343 FileVersionLicenseeUE = GPackageFileLicenseeUEVersion;
344
346 }
347
350 {
351 return FileVersionUE < VER_UE4_OLDEST_LOADABLE_PACKAGE;
352 }
353
359
365
368 {
369 return PackageFlags;
370 }
371
374
375#if WITH_EDITORONLY_DATA
380#endif
381
385
386private:
387
393 void InvalidateFileVersion()
394 {
396 }
397};
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition Platform.h:1127
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
const FPackageFileVersion GPackageFileUEVersion(VER_LATEST_ENGINE_UE4, EUnrealEngineObjectUE5Version::AUTOMATIC_VERSION)
const int32 GPackageFileLicenseeUEVersion
Definition ObjectVersion.cpp:22
EUnrealEngineObjectUE4Version
Definition ObjectVersion.h:113
@ VER_UE4_OLDEST_LOADABLE_PACKAGE
Definition ObjectVersion.h:114
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Archive.h:1208
Definition CustomVersion.h:111
Definition EngineVersion.h:12
Definition StructuredArchiveSlots.h:52
Definition Array.h:670
@ false
Definition radaudio_common.h:23
Definition Linker.h:45
Definition PackageFileSummary.h:32
int32 ExportCount
Definition PackageFileSummary.h:36
int32 NameCount
Definition PackageFileSummary.h:41
Definition Guid.h:109
Definition IoHash.h:33
Definition PackageFileSummary.h:57
int32 GatherableTextDataOffset
Definition PackageFileSummary.h:123
int32 PreloadDependencyCount
Definition PackageFileSummary.h:268
int32 GatherableTextDataCount
Definition PackageFileSummary.h:118
FPackageFileSummary(const FPackageFileSummary &)=default
int32 Tag
Definition PackageFileSummary.h:61
TArray< FGenerationInfo > Generations
Definition PackageFileSummary.h:222
int32 SoftObjectPathsOffset
Definition PackageFileSummary.h:107
COREUOBJECT_API FPackageFileSummary()
Definition PackageFileSummary.cpp:12
void SetToLatestFileVersions(const bool bInSaveUnversioned)
Definition PackageFileSummary.h:340
int32 CellExportOffset
Definition PackageFileSummary.h:158
FString LocalizationId
Definition PackageFileSummary.h:113
COREUOBJECT_API bool IsFileVersionValid() const
Definition PackageFileSummary.cpp:593
int32 DataResourceOffset
Definition PackageFileSummary.h:288
int32 WorldTileInfoDataOffset
Definition PackageFileSummary.h:261
int32 NamesReferencedFromExportDataCount
Definition PackageFileSummary.h:278
int32 TotalHeaderSize
Definition PackageFileSummary.h:81
FPackageFileSummary & operator=(FPackageFileSummary &&)=default
uint32 CompressionFlags
Definition PackageFileSummary.h:238
int32 PreloadDependencyOffset
Definition PackageFileSummary.h:273
int32 DependsOffset
Definition PackageFileSummary.h:173
int32 CellExportCount
Definition PackageFileSummary.h:153
bool IsFileVersionTooNew() const
Definition PackageFileSummary.h:355
const FCustomVersionContainer & GetCustomVersionContainer() const
Definition PackageFileSummary.h:323
PRAGMA_DISABLE_DEPRECATION_WARNINGS FPackageFileSummary(FPackageFileSummary &&)=default
FPackageFileSummary & operator=(const FPackageFileSummary &)=default
int64 PayloadTocOffset
Definition PackageFileSummary.h:283
int32 GetFileVersionLicenseeUE() const
Definition PackageFileSummary.h:312
TArray< int32 > ChunkIDs
Definition PackageFileSummary.h:266
FEngineVersion SavedByEngineVersion
Definition PackageFileSummary.h:227
void SetCustomVersionContainer(const FCustomVersionContainer &InContainer)
Definition PackageFileSummary.cpp:573
int32 ExportCount
Definition PackageFileSummary.h:133
int32 ExportOffset
Definition PackageFileSummary.h:138
bool bUnversioned
Definition PackageFileSummary.h:249
int32 ImportOffset
Definition PackageFileSummary.h:148
int32 ImportTypeHierarchiesCount
Definition PackageFileSummary.h:198
COREUOBJECT_API void SetFileVersions(const int32 EpicUE4, const int32 EpicUE5, const int32 LicenseeUE, const bool bInSaveUnversioned=false)
Definition PackageFileSummary.cpp:579
FEngineVersion CompatibleWithEngineVersion
Definition PackageFileSummary.h:233
uint32 GetPackageFlags() const
Definition PackageFileSummary.h:367
int64 BulkDataStartOffset
Definition PackageFileSummary.h:257
int32 GetFileVersionLicenseeUE4() const
Definition PackageFileSummary.h:318
int32 ImportTypeHierarchiesOffset
Definition PackageFileSummary.h:203
void SetPackageFlags(uint32 InPackageFlags)
Definition PackageFileSummary.cpp:605
int32 SoftObjectPathsCount
Definition PackageFileSummary.h:102
bool IsFileVersionTooOld() const
Definition PackageFileSummary.h:349
int32 NameCount
Definition PackageFileSummary.h:91
int32 CellImportCount
Definition PackageFileSummary.h:163
uint32 PackageSource
Definition PackageFileSummary.h:243
int32 CellImportOffset
Definition PackageFileSummary.h:168
int32 SoftPackageReferencesCount
Definition PackageFileSummary.h:178
int32 MetaDataOffset
Definition PackageFileSummary.h:128
int32 SoftPackageReferencesOffset
Definition PackageFileSummary.h:183
int32 AssetRegistryDataOffset
Definition PackageFileSummary.h:254
PRAGMA_ENABLE_DEPRECATION_WARNINGS FPackageFileVersion GetFileVersionUE() const
Definition PackageFileSummary.h:301
int32 SearchableNamesOffset
Definition PackageFileSummary.h:188
int32 NameOffset
Definition PackageFileSummary.h:96
friend COREUOBJECT_API FArchive & operator<<(FArchive &Ar, FPackageFileSummary &Sum)
Definition PackageFileSummary.cpp:567
int32 ThumbnailTableOffset
Definition PackageFileSummary.h:193
int32 ImportCount
Definition PackageFileSummary.h:143
FString PackageName
Definition PackageFileSummary.h:86
int32 GetFileVersionUE4() const
Definition PackageFileSummary.h:307
Definition ObjectVersion.h:762
static CORE_API FPackageFileVersion CreateUE4Version(int32 Version)
Definition ObjectVersion.cpp:24
int32 FileVersionUE4
Definition ObjectVersion.h:870
int32 FileVersionUE5
Definition ObjectVersion.h:872