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

Classes

class  AndroidCookFlavor
 
class  AndroidDebuggerBackend
 
class  AndroidProcessorArchitecture
 
class  AndroidTargets
 
class  BuildCommon
 Extra build related utilities not necessarily associated with Unreal tasks. More...
 
class  EngineVersion
 High level representation of an Unreal Engine version. More...
 
class  EnumerationJsonConverter
 
struct  FLASHWINFO
 
class  GenericUnrealLocator
 An empty Unreal Locator implementation which doesn't know about installed instances, but it will validate an absolute input path of a potential Unreal Engine installation. More...
 
interface  IAndroidTargets
 
interface  IPackageTargets
 Target for packaging the current project we're working on. More...
 
interface  IUnrealLocator
 Common interface for locating Unreal Engine instances in different environments. More...
 
class  PackageTargets
 
class  Unreal
 A collection of utilities around basic functions regarding the environment of the Engine we're working with. More...
 
class  UnrealBuild
 The main build class Unreal projects using Nuke.Unreal should inherit from. This class contains all base targets for use-cases which are relevant for 99% of Unreal project development tasks. More...
 
class  UnrealBuildTest
 Used only for testing purposes. It has no external use outside of Nuke.Unreal development. More...
 
class  UnrealConfig
 Build configurations UBT supports. More...
 
class  UnrealLocator
 Static functions and common utilities for locating Unreal Engine. More...
 
class  UnrealPlatform
 High level representation of common platforms supported by Unreal Engine (NDA ones excluded) and extra metadata about platform specific intricacies. More...
 
class  UnrealPlatformJsonConverter
 
class  UnrealTargetType
 The regular target types UBT supports. More...
 
class  WindowsUnrealLocator
 

Enumerations

enum  ProjectDescriptorVersion {
  Invalid = 0 , Initial = 1 , NameHash = 2 , ProjectPluginUnification = 3 ,
  LatestPlusOne , Latest = LatestPlusOne - 1
}
 The version format for .uproject files. This rarely changes now; project descriptors should maintain backwards compatibility automatically. More...
 
enum  UnrealCompatibility : ulong {
  UE_4 = 0b00000000_00000000_00000000_00000000_11111111_11111111_11111111_11111111 , UE_4_Latest = (~(UE_4_27 - 1)) & UE_4 , UE_4_0 = 1UL << 0 , UE_4_1 = 1UL << 1 ,
  UE_4_2 = 1UL << 2 , UE_4_3 = 1UL << 3 , UE_4_4 = 1UL << 4 , UE_4_5 = 1UL << 5 ,
  UE_4_6 = 1UL << 6 , UE_4_7 = 1UL << 7 , UE_4_8 = 1UL << 8 , UE_4_9 = 1UL << 9 ,
  UE_4_10 = 1UL << 10 , UE_4_11 = 1UL << 11 , UE_4_12 = 1UL << 12 , UE_4_13 = 1UL << 13 ,
  UE_4_14 = 1UL << 14 , UE_4_15 = 1UL << 15 , UE_4_16 = 1UL << 16 , UE_4_17 = 1UL << 17 ,
  UE_4_18 = 1UL << 18 , UE_4_19 = 1UL << 19 , UE_4_20 = 1UL << 20 , UE_4_21 = 1UL << 21 ,
  UE_4_22 = 1UL << 22 , UE_4_23 = 1UL << 23 , UE_4_24 = 1UL << 24 , UE_4_25 = 1UL << 25 ,
  UE_4_26 = 1UL << 26 , UE_4_27 = 1UL << 27 , UE_5 = 0b11111111_11111111_11111111_11111111_00000000_00000000_00000000_00000000 , UE_5_Latest = ~(UE_5_7 - 1) ,
  UE_5_0 = 1UL << 32 , UE_5_1 = 1UL << 33 , UE_5_2 = 1UL << 34 , UE_5_3 = 1UL << 35 ,
  UE_5_4 = 1UL << 36 , UE_5_5 = 1UL << 37 , UE_5_6 = 1UL << 38 , UE_5_7 = 1UL << 39 ,
  UE_5_8 = 1UL << 40 , UE_5_9 = 1UL << 41 , UE_5_10 = 1UL << 42 , UE_5_11 = 1UL << 43 ,
  UE_5_12 = 1UL << 44 , UE_5_13 = 1UL << 45 , UE_5_14 = 1UL << 46 , UE_5_15 = 1UL << 47 ,
  UE_5_16 = 1UL << 48 , UE_5_17 = 1UL << 49 , UE_5_18 = 1UL << 50 , UE_5_19 = 1UL << 51 ,
  UE_5_20 = 1UL << 52 , UE_5_21 = 1UL << 53 , UE_5_22 = 1UL << 54 , UE_5_23 = 1UL << 55 ,
  UE_5_24 = 1UL << 56 , UE_5_25 = 1UL << 57 , UE_5_26 = 1UL << 58 , UE_5_27 = 1UL << 59 ,
  UE_5_28 = 1UL << 60 , UE_5_29 = 1UL << 61 , UE_5_30 = 1UL << 62 , UE_5_31 = 1UL << 63 ,
  All = 0xFFFFFFFFFFFFFFFF
}
 A flag enum representation for checking the Unreal version compatibility of various features. Lower half is indicating major version 4, and the other half is major version 5. This may be re-evaluated when Unreal Engine 6 releases. More...
 
enum  UnrealPlatformFlag : UInt16 {
  Win64 = 1 << 0 , Win32 = 1 << 1 , HoloLens = 1 << 2 , Mac = 1 << 3 ,
  Linux = 1 << 4 , LinuxArm64 = 1 << 5 , Android = 1 << 6 , IOS = 1 << 7 ,
  TVOS = 1 << 8 , VisionOS = 1 << 9 , AllWin = Win32 | Win64 , AllLinux = Linux | LinuxArm64 ,
  AllDesktop = AllWin | AllLinux | Mac , Independent = 0xFFFF
}
 Bit-field representation of Unreal platforms and platform-families. More...
 

Functions

partial record AndroidProcess (string User, int Pid, int ParentPid, int Vsz, int Rss, string Wchan, int Addr, string S, string Name)
 
record class AndroidBuildEnvironment (AbsolutePath ArtifactFolder, AbsolutePath AndroidHome, AbsolutePath NdkFolder, AbsolutePath BuildTools)
 
record class AndroidSdkNdkUserSettings (string? SdkPath, string? NdkPath, string? JavaPath, string? SdkApiLevel, string? NdkApiLevel)
 
record class UnrealInstance (string Name, AbsolutePath Path)
 Group an Unreal association with its actual path.
 
record class ProjectDescriptor (int FileVersion=3, string? EngineAssociation=null, string? Category=null, string? Description=null, List< ModuleDescriptor >? Modules=null, List< PluginReferenceDescriptor >? Plugins=null, List< string >? AdditionalRootDirectories=null, List< string >? AdditionalPluginDirectories=null, List< UnrealPlatform >? TargetPlatforms=null, uint? EpicSampleNameHash=null, Dictionary< UnrealPlatform, List< string > >? InitSteps=null, Dictionary< UnrealPlatform, List< string > >? PreBuildSteps=null, Dictionary< UnrealPlatform, List< string > >? PostBuildSteps=null, bool? IsEnterpriseProject=null, bool? DisableEnginePluginsByDefault=null)
 In-memory representation of a .uproject file.
 

Enumeration Type Documentation

◆ ProjectDescriptorVersion

The version format for .uproject files. This rarely changes now; project descriptors should maintain backwards compatibility automatically.

Enumerator
Invalid 

Invalid.

Initial 

Initial version.

NameHash 

Adding SampleNameHash.

ProjectPluginUnification 

Unifying plugin/project files (since abandoned, but backwards compatibility maintained)

LatestPlusOne  

This needs to be the last line, so we can calculate the value of Latest below.

Latest LatestPlusOne - 1 

The latest plugin descriptor version.

Definition at line 14 of file ProjectDescriptor.cs.

◆ UnrealCompatibility

A flag enum representation for checking the Unreal version compatibility of various features. Lower half is indicating major version 4, and the other half is major version 5. This may be re-evaluated when Unreal Engine 6 releases.

Enumerator
UE_4 0b00000000_00000000_00000000_00000000_11111111_11111111_11111111_11111111 

Aggregate flag indicating Unreal Engine 4 versions.

UE_4_Latest (~(UE_4_27 - 1)) & UE_4 

Aggregate flag indicating Unreal Engine 4.27 version.

UE_5 0b11111111_11111111_11111111_11111111_00000000_00000000_00000000_00000000 

Aggregate flag indicating Unreal Engine 5 versions.

UE_5_Latest ~(UE_5_7 - 1) 

Aggregate flag indicating the latest Unreal Engine 5 versions known to Nuke.Unreal.

All 0xFFFFFFFFFFFFFFFF 

Aggregate flag indicating overall compatibility with all Unreal Engine versions.

Definition at line 11 of file UnrealCompatibility.cs.

◆ UnrealPlatformFlag

Bit-field representation of Unreal platforms and platform-families.

Definition at line 18 of file UnrealPlatform.cs.

Function Documentation

◆ AndroidProcess()

partial record Nuke.Unreal.AndroidProcess ( string User,
int Pid,
int ParentPid,
int Vsz,
int Rss,
string Wchan,
int Addr,
string S,
string Name )
package

Definition at line 39 of file IAndroidTargets.cs.

◆ AndroidSdkNdkUserSettings()

record class Nuke.Unreal.AndroidSdkNdkUserSettings ( string? SdkPath,
string? NdkPath,
string? JavaPath,
string? SdkApiLevel,
string? NdkApiLevel )

Definition at line 91 of file IAndroidTargets.cs.

◆ ProjectDescriptor()

record class Nuke.Unreal.ProjectDescriptor ( int FileVersion = 3,
string? EngineAssociation = null,
string? Category = null,
string? Description = null,
List< ModuleDescriptor >? Modules = null,
List< PluginReferenceDescriptor >? Plugins = null,
List< string >? AdditionalRootDirectories = null,
List< string >? AdditionalPluginDirectories = null,
List< UnrealPlatform >? TargetPlatforms = null,
uint? EpicSampleNameHash = null,
Dictionary< UnrealPlatform, List< string > >? InitSteps = null,
Dictionary< UnrealPlatform, List< string > >? PreBuildSteps = null,
Dictionary< UnrealPlatform, List< string > >? PostBuildSteps = null,
bool? IsEnterpriseProject = null,
bool? DisableEnginePluginsByDefault = null )

In-memory representation of a .uproject file.

Parameters
FileVersionDescriptor version number.
EngineAssociationThe engine to open this project with.
CategoryCategory to show under the project browser
DescriptionDescription to show in the project browser
ModulesList of all modules associated with this project
PluginsList of plugins for this project (may be enabled/disabled)
AdditionalRootDirectoriesArray of additional root directories
AdditionalPluginDirectoriesList of additional plugin directories to scan for available plugins
TargetPlatformsArray of platforms that this project is targeting
EpicSampleNameHashA hash that is used to determine if the project was forked from a sample
InitStepsSteps to execute before creating rules assemblies in this project
PreBuildStepsSteps to execute before building targets in this project
PostBuildStepsSteps to execute before building targets in this project
IsEnterpriseProjectIndicates if this project is an Enterprise project
DisableEnginePluginsByDefaultIndicates that enabled by default engine plugins should not be enabled unless explicitly enabled by the project or target files.

◆ UnrealInstance()

record class Nuke.Unreal.UnrealInstance ( string Name,
AbsolutePath Path )

Group an Unreal association with its actual path.