UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
BuildPatchFeatureLevel.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreMinimal.h"
5#include "HAL/Platform.h"
6
7namespace BuildPatchServices
8{
12 enum class EFeatureLevel : int32
13 {
14 // The original version.
15 Original = 0,
16 // Support for custom fields.
17 CustomFields,
18 // Started storing the version number.
19 StartStoringVersion,
20 // Made after data files where renamed to include the hash value, these chunks now go to ChunksV2.
21 DataFileRenames,
22 // Manifest stores whether build was constructed with chunk or file data.
23 StoresIfChunkOrFileData,
24 // Manifest stores group number for each chunk/file data for reference so that external readers don't need to know how to calculate them.
25 StoresDataGroupNumbers,
26 // Added support for chunk compression, these chunks now go to ChunksV3. NB: Not File Data Compression yet.
27 ChunkCompressionSupport,
28 // Manifest stores product prerequisites info.
29 StoresPrerequisitesInfo,
30 // Manifest stores chunk download sizes.
31 StoresChunkFileSizes,
32 // Manifest can optionally be stored using UObject serialization and compressed.
33 StoredAsCompressedUClass,
34 // These two features were removed and never used.
35 UNUSED_0,
36 UNUSED_1,
37 // Manifest stores chunk data SHA1 hash to use in place of data compare, for faster generation.
38 StoresChunkDataShaHashes,
39 // Manifest stores Prerequisite Ids.
40 StoresPrerequisiteIds,
41 // The first minimal binary format was added. UObject classes will no longer be saved out when binary selected.
42 StoredAsBinaryData,
43 // Temporary level where manifest can reference chunks with dynamic window size, but did not serialize them. Chunks from here onwards are stored in ChunksV4.
44 VariableSizeChunksWithoutWindowSizeChunkInfo,
45 // Manifest can reference chunks with dynamic window size, and also serializes them.
46 VariableSizeChunks,
47 // Manifest uses a build id generated from its metadata.
48 UsesRuntimeGeneratedBuildId,
49 // Manifest uses a build id generated unique at build time, and stored in manifest.
50 UsesBuildTimeGeneratedBuildId,
51
52 // !! Always after the latest version entry, signifies the latest version plus 1 to allow the following Latest alias.
54 // An alias for the actual latest version value.
55 Latest = (LatestPlusOne - 1),
56 // An alias to provide the latest version of a manifest supported by file data (nochunks).
57 LatestNoChunks = StoresChunkFileSizes,
58 // An alias to provide the latest version of a manifest supported by a json serialized format.
59 LatestJson = StoresPrerequisiteIds,
60 // An alias to provide the first available version of optimised delta manifest saving.
61 FirstOptimisedDelta = UsesRuntimeGeneratedBuildId,
62
63 // More aliases, but this time for values that have been renamed
64 StoresUniqueBuildId = UsesRuntimeGeneratedBuildId,
65
66 // JSON manifests were stored with a version of 255 during a certain CL range due to a bug.
67 // We will treat this as being StoresChunkFileSizes in code.
68 BrokenJsonVersion = 255,
69 // This is for UObject default, so that we always serialize it.
70 Invalid = -1
71 };
72
78 BUILDPATCHSERVICES_API const TCHAR* FeatureLevelToString(const EFeatureLevel& FeatureLevel);
79
86 BUILDPATCHSERVICES_API bool FeatureLevelFromString(const TCHAR* FeatureLevelString, EFeatureLevel& FeatureLevel);
87}
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
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
EFeatureLevel
Definition BuildPatchFeatureLevel.h:13
Definition BuildPatchFileConstructor.h:28
BUILDPATCHSERVICES_API bool FeatureLevelFromString(const TCHAR *FeatureLevelString, EFeatureLevel &FeatureLevel)
BUILDPATCHSERVICES_API const TCHAR * FeatureLevelToString(const EFeatureLevel &FeatureLevel)