Nuke.Unreal
Build Unreal apps in Style.
Loading...
Searching...
No Matches
Nuke.Unreal.UnrealPlatform Class Reference

High level representation of common platforms supported by Unreal Engine (NDA ones excluded) and extra metadata about platform specific intricacies. More...

Inheritance diagram for Nuke.Unreal.UnrealPlatform:

Public Member Functions

override string ToString ()
 
UnrealPlatform Clone ()
 

Static Public Member Functions

static UnrealPlatform FromFlag (UnrealPlatformFlag flag)
 Get the high-level platform from a bit-field platform flag.
 
static implicit operator string (UnrealPlatform configuration)
 
static UnrealPlatform Parse (string platformText)
 Attempt to convert a piece of text into a high-level platform representation. Platform name aliases/variations are supported:

  • Anything containing 'Windows' will be mapped to Win64
  • Anything containing 'Mac' will be mapped to Mac (like MacOS, MacOSX)

 

Static Public Attributes

static readonly UnrealPlatform Win64
 Any platform name containing 'Windows' is also mapped to this platform.
 
static readonly UnrealPlatform Win32
 
static readonly UnrealPlatform HoloLens
 
static readonly UnrealPlatform Mac
 Any platform name containing 'Mac' is also mapped to this platform.
 
static readonly UnrealPlatform Linux
 
static readonly UnrealPlatform LinuxArm64
 
static readonly UnrealPlatform Android
 
static readonly UnrealPlatform IOS
 
static readonly UnrealPlatform TVOS
 
static readonly UnrealPlatform VisionOS
 
static readonly UnrealPlatform Independent
 Meta-platform indicating that its context of operation is platform-independent or has (should have) the same results on all platforms.
 
static readonly List< UnrealPlatformPlatforms
 List of all "real" platforms.
 
static readonly List< UnrealPlatformDevelopmentPlatforms
 List of platforms which can support the Unreal Editor.
 

Properties

UnrealPlatformFlag Flag = UnrealPlatformFlag.Win64 [get, private set]
 
UnrealCompatibility Compatibility = UnrealCompatibility.All [get, private set]
 Which Unreal version this platform is compatible with.
 
string DllExtension = "so" [get, private set]
 The platform specific file extension used for dynamic libraries.
 
string? UserDefinedName [get, private set]
 In some cases platforms can have multiple names which can be used by project~ and plugin descriptors. In order to maintain their value during file operations, we maintain these aliases here, if they're recognized by the parser.
 
string PlatformText [get]
 This property is used for serialization contexts where maintaining a platform name alias is important. Use ToString or Value otherwise.
 
bool IsDesktop [get]
 Is given platform a traditional desktop computer?
 
bool IsDevelopment [get]
 Can this platform support Unreal Editor?
 
bool IsHost [get]
 Can this platform support Unreal Editor?
 
bool IsLinux [get]
 
bool IsWindows [get]
 
bool IsMobile [get]
 Given platform is for handheld devices and/or standalone XR headsets.
 

Private Member Functions

object ICloneable. Clone ()
 

Private Attributes

string? _platformText = null
 

Detailed Description

High level representation of common platforms supported by Unreal Engine (NDA ones excluded) and extra metadata about platform specific intricacies.

Definition at line 76 of file UnrealPlatform.cs.

Member Function Documentation

◆ Clone() [1/2]

UnrealPlatform Nuke.Unreal.UnrealPlatform.Clone ( )

Definition at line 261 of file UnrealPlatform.cs.

◆ Clone() [2/2]

object ICloneable. Nuke.Unreal.UnrealPlatform.Clone ( )
private

Definition at line 273 of file UnrealPlatform.cs.

◆ FromFlag()

static UnrealPlatform Nuke.Unreal.UnrealPlatform.FromFlag ( UnrealPlatformFlag flag)
static

Get the high-level platform from a bit-field platform flag.

Definition at line 161 of file UnrealPlatform.cs.

◆ operator string()

static implicit Nuke.Unreal.UnrealPlatform.operator string ( UnrealPlatform configuration)
static

Definition at line 278 of file UnrealPlatform.cs.

◆ Parse()

static UnrealPlatform Nuke.Unreal.UnrealPlatform.Parse ( string platformText)
static

Attempt to convert a piece of text into a high-level platform representation. Platform name aliases/variations are supported:

  • Anything containing 'Windows' will be mapped to Win64
  • Anything containing 'Mac' will be mapped to Mac (like MacOS, MacOSX)

Exceptions
AggregateExceptionThrown when the input text cannot be mapped to any of the known platforms.
Returns
The determined static high-level platform, or a clone of a high-level platform if the input name was a platform alias.

Definition at line 298 of file UnrealPlatform.cs.

◆ ToString()

override string Nuke.Unreal.UnrealPlatform.ToString ( )

Definition at line 256 of file UnrealPlatform.cs.

Member Data Documentation

◆ _platformText

string? Nuke.Unreal.UnrealPlatform._platformText = null
private

Definition at line 225 of file UnrealPlatform.cs.

◆ Android

readonly UnrealPlatform Nuke.Unreal.UnrealPlatform.Android
static
Initial value:
= new()
{
Value = nameof(Android),
Flag = UnrealPlatformFlag.Android
}

Definition at line 121 of file UnrealPlatform.cs.

◆ DevelopmentPlatforms

readonly List<UnrealPlatform> Nuke.Unreal.UnrealPlatform.DevelopmentPlatforms
static
Initial value:
=
[
Mac,
Linux,
]
static readonly UnrealPlatform Win64
Any platform name containing 'Windows' is also mapped to this platform.
static readonly UnrealPlatform Mac
Any platform name containing 'Mac' is also mapped to this platform.

List of platforms which can support the Unreal Editor.

Definition at line 199 of file UnrealPlatform.cs.

◆ HoloLens

readonly UnrealPlatform Nuke.Unreal.UnrealPlatform.HoloLens
static
Initial value:
= new()
{
Value = nameof(HoloLens),
Flag = UnrealPlatformFlag.HoloLens,
DllExtension = "dll",
}
string DllExtension
The platform specific file extension used for dynamic libraries.
UnrealCompatibility Compatibility
Which Unreal version this platform is compatible with.
UnrealPlatformFlag
Bit-field representation of Unreal platforms and platform-families.
UnrealCompatibility
A flag enum representation for checking the Unreal version compatibility of various features....

Definition at line 94 of file UnrealPlatform.cs.

◆ Independent

readonly UnrealPlatform Nuke.Unreal.UnrealPlatform.Independent
static
Initial value:
= new()
{
Value = nameof(Independent),
Flag = UnrealPlatformFlag.Independent,
_platformText = ""
}
static readonly UnrealPlatform Independent
Meta-platform indicating that its context of operation is platform-independent or has (should have) t...

Meta-platform indicating that its context of operation is platform-independent or has (should have) the same results on all platforms.

Definition at line 150 of file UnrealPlatform.cs.

◆ IOS

readonly UnrealPlatform Nuke.Unreal.UnrealPlatform.IOS
static
Initial value:
= new()
{
Value = nameof(IOS),
Flag = UnrealPlatformFlag.IOS,
DllExtension = "dylib",
}

Definition at line 126 of file UnrealPlatform.cs.

◆ Linux

readonly UnrealPlatform Nuke.Unreal.UnrealPlatform.Linux
static
Initial value:
= new()
{
Value = nameof(Linux),
Flag = UnrealPlatformFlag.Linux
}

Definition at line 111 of file UnrealPlatform.cs.

◆ LinuxArm64

readonly UnrealPlatform Nuke.Unreal.UnrealPlatform.LinuxArm64
static
Initial value:
= new()
{
Value = nameof(LinuxArm64),
Flag = UnrealPlatformFlag.LinuxArm64
}

Definition at line 116 of file UnrealPlatform.cs.

◆ Mac

readonly UnrealPlatform Nuke.Unreal.UnrealPlatform.Mac
static
Initial value:
= new()
{
Value = nameof(Mac),
Flag = UnrealPlatformFlag.Mac,
DllExtension = "dylib",
}

Any platform name containing 'Mac' is also mapped to this platform.

Definition at line 105 of file UnrealPlatform.cs.

◆ Platforms

readonly List<UnrealPlatform> Nuke.Unreal.UnrealPlatform.Platforms
static
Initial value:
=
[
Mac,
Linux,
LinuxArm64,
Android,
IOS,
TVOS,
VisionOS,
]

List of all "real" platforms.

Definition at line 184 of file UnrealPlatform.cs.

◆ TVOS

readonly UnrealPlatform Nuke.Unreal.UnrealPlatform.TVOS
static
Initial value:
= new()
{
Value = nameof(TVOS),
Flag = UnrealPlatformFlag.TVOS,
DllExtension = "dylib",
}

Definition at line 132 of file UnrealPlatform.cs.

◆ VisionOS

readonly UnrealPlatform Nuke.Unreal.UnrealPlatform.VisionOS
static
Initial value:
= new()
{
Value = nameof(VisionOS),
Flag = UnrealPlatformFlag.VisionOS,
Compatibility = UnrealCompatibility.UE_5_5.AndLater(),
DllExtension = "dylib",
}

Definition at line 138 of file UnrealPlatform.cs.

◆ Win32

readonly UnrealPlatform Nuke.Unreal.UnrealPlatform.Win32
static
Initial value:
= new()
{
Value = nameof(Win32),
Flag = UnrealPlatformFlag.Win32,
DllExtension = "dll",
}

Definition at line 87 of file UnrealPlatform.cs.

◆ Win64

readonly UnrealPlatform Nuke.Unreal.UnrealPlatform.Win64
static
Initial value:
= new()
{
Value = nameof(Win64),
Flag = UnrealPlatformFlag.Win64,
DllExtension = "dll"
}

Any platform name containing 'Windows' is also mapped to this platform.

Definition at line 81 of file UnrealPlatform.cs.

Property Documentation

◆ Compatibility

UnrealCompatibility Nuke.Unreal.UnrealPlatform.Compatibility = UnrealCompatibility.All
getprivate set

Which Unreal version this platform is compatible with.

Definition at line 211 of file UnrealPlatform.cs.

◆ DllExtension

string Nuke.Unreal.UnrealPlatform.DllExtension = "so"
getprivate set

The platform specific file extension used for dynamic libraries.

Definition at line 216 of file UnrealPlatform.cs.

◆ Flag

UnrealPlatformFlag Nuke.Unreal.UnrealPlatform.Flag = UnrealPlatformFlag.Win64
getprivate set

Definition at line 206 of file UnrealPlatform.cs.

◆ IsDesktop

bool Nuke.Unreal.UnrealPlatform.IsDesktop
get

Is given platform a traditional desktop computer?

Definition at line 236 of file UnrealPlatform.cs.

◆ IsDevelopment

bool Nuke.Unreal.UnrealPlatform.IsDevelopment
get

Can this platform support Unreal Editor?

Definition at line 241 of file UnrealPlatform.cs.

◆ IsHost

bool Nuke.Unreal.UnrealPlatform.IsHost
get

Can this platform support Unreal Editor?

Definition at line 246 of file UnrealPlatform.cs.

◆ IsLinux

bool Nuke.Unreal.UnrealPlatform.IsLinux
get

Definition at line 248 of file UnrealPlatform.cs.

◆ IsMobile

bool Nuke.Unreal.UnrealPlatform.IsMobile
get

Given platform is for handheld devices and/or standalone XR headsets.

Definition at line 254 of file UnrealPlatform.cs.

◆ IsWindows

bool Nuke.Unreal.UnrealPlatform.IsWindows
get

Definition at line 249 of file UnrealPlatform.cs.

◆ PlatformText

string Nuke.Unreal.UnrealPlatform.PlatformText
get

This property is used for serialization contexts where maintaining a platform name alias is important. Use ToString or Value otherwise.

Definition at line 231 of file UnrealPlatform.cs.

◆ UserDefinedName

string? Nuke.Unreal.UnrealPlatform.UserDefinedName
getprivate set

In some cases platforms can have multiple names which can be used by project~ and plugin descriptors. In order to maintain their value during file operations, we maintain these aliases here, if they're recognized by the parser.

Definition at line 223 of file UnrealPlatform.cs.


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