Nuke.Unreal
Build Unreal apps in Style.
Loading...
Searching...
No Matches
UnrealCompatibility.cs
1using System;
2
3namespace Nuke.Unreal;
4
5/// <summary>
6/// A flag enum representation for checking the Unreal version compatibility of various features.
7/// Lower half is indicating major version 4, and the other half is major version 5. This may be
8/// re-evaluated when Unreal Engine 6 releases.
9/// </summary>
10[Flags]
11public enum UnrealCompatibility : ulong
12{
13 /// <summary>
14 /// Aggregate flag indicating Unreal Engine 4 versions
15 /// </summary>
16 UE_4 = 0b00000000_00000000_00000000_00000000_11111111_11111111_11111111_11111111,
17
18 /// <summary>
19 /// Aggregate flag indicating Unreal Engine 4.27 version
20 /// </summary>
21 UE_4_Latest = (~(UE_4_27 - 1)) & UE_4,
22 UE_4_0 = 1UL << 0,
23 UE_4_1 = 1UL << 1,
24 UE_4_2 = 1UL << 2,
25 UE_4_3 = 1UL << 3,
26 UE_4_4 = 1UL << 4,
27 UE_4_5 = 1UL << 5,
28 UE_4_6 = 1UL << 6,
29 UE_4_7 = 1UL << 7,
30 UE_4_8 = 1UL << 8,
31 UE_4_9 = 1UL << 9,
32 UE_4_10 = 1UL << 10,
33 UE_4_11 = 1UL << 11,
34 UE_4_12 = 1UL << 12,
35 UE_4_13 = 1UL << 13,
36 UE_4_14 = 1UL << 14,
37 UE_4_15 = 1UL << 15,
38 UE_4_16 = 1UL << 16,
39 UE_4_17 = 1UL << 17,
40 UE_4_18 = 1UL << 18,
41 UE_4_19 = 1UL << 19,
42 UE_4_20 = 1UL << 20,
43 UE_4_21 = 1UL << 21,
44 UE_4_22 = 1UL << 22,
45 UE_4_23 = 1UL << 23,
46 UE_4_24 = 1UL << 24,
47 UE_4_25 = 1UL << 25,
48 UE_4_26 = 1UL << 26,
49 UE_4_27 = 1UL << 27, // Last UE 4
50
51 /// <summary>
52 /// Aggregate flag indicating Unreal Engine 5 versions
53 /// </summary>
54 UE_5 = 0b11111111_11111111_11111111_11111111_00000000_00000000_00000000_00000000,
55
56 /// <summary>
57 /// Aggregate flag indicating the latest Unreal Engine 5 versions known to Nuke.Unreal
58 /// </summary>
59 UE_5_Latest = ~(UE_5_7 - 1),
60 UE_5_0 = 1UL << 32,
61 UE_5_1 = 1UL << 33,
62 UE_5_2 = 1UL << 34,
63 UE_5_3 = 1UL << 35,
64 UE_5_4 = 1UL << 36,
65 UE_5_5 = 1UL << 37,
66 UE_5_6 = 1UL << 38,
67 UE_5_7 = 1UL << 39, // Latest
68 UE_5_8 = 1UL << 40,
69 UE_5_9 = 1UL << 41,
70 UE_5_10 = 1UL << 42,
71 UE_5_11 = 1UL << 43,
72 UE_5_12 = 1UL << 44,
73 UE_5_13 = 1UL << 45,
74 UE_5_14 = 1UL << 46,
75 UE_5_15 = 1UL << 47,
76 UE_5_16 = 1UL << 48,
77 UE_5_17 = 1UL << 49,
78 UE_5_18 = 1UL << 50,
79 UE_5_19 = 1UL << 51,
80 UE_5_20 = 1UL << 52,
81 UE_5_21 = 1UL << 53,
82 UE_5_22 = 1UL << 54,
83 UE_5_23 = 1UL << 55,
84 UE_5_24 = 1UL << 56,
85 UE_5_25 = 1UL << 57,
86 UE_5_26 = 1UL << 58,
87 UE_5_27 = 1UL << 59,
88 UE_5_28 = 1UL << 60,
89 UE_5_29 = 1UL << 61,
90 UE_5_30 = 1UL << 62,
91 UE_5_31 = 1UL << 63,
92
93 /// <summary>
94 /// Aggregate flag indicating overall compatibility with all Unreal Engine versions
95 /// </summary>
96 All = 0xFFFFFFFFFFFFFFFF
97}
UnrealCompatibility
A flag enum representation for checking the Unreal version compatibility of various features....
@ UE_4
Aggregate flag indicating Unreal Engine 4 versions.
@ UE_5
Aggregate flag indicating Unreal Engine 5 versions.
@ UE_5_Latest
Aggregate flag indicating the latest Unreal Engine 5 versions known to Nuke.Unreal.
@ All
Aggregate flag indicating overall compatibility with all Unreal Engine versions.
@ UE_4_Latest
Aggregate flag indicating Unreal Engine 4.27 version.