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

Classes

class  ToolConfig
 The base class for generated strongly typed tool configurators providing base functionalities like argument and subtool management. More...
 
class  ToolConfigExtensions
 
class  UatConfig
 Unreal Automation Tool is a vast collection of scripts solving all aspects of deploying a program made in Unreal Engine. More...
 
class  UatConfigGenerated
 Unreal Automation Tool is a vast collection of scripts solving all aspects of deploying a program made in Unreal Engine. More...
 
class  UbtConfig
 Unreal Build Tool defines the Unreal project structure and provides unified source building utilities over multiple platforms. More...
 
class  UbtConfigGenerated
 Unreal Build Tool defines the Unreal project structure and provides unified source building utilities over multiple platforms. More...
 

Enumerations

enum  HotReloadMode {
  Default , Disabled , FromIDE , FromEditor ,
  LiveCoding
}
 The current hot reload mode. More...
 
enum  WarningLevel { Off , Warning , Error }
 Controls how a particular warning is treated. More...
 
enum  CppStandardVersion { Default , Cpp14 , Cpp17 , Latest }
 Specifies which language standard to use. This enum should be kept in order, so that toolchains can check whether the requested setting is >= values that they support. More...
 
enum  WindowsCompiler {
  Default , Clang , Intel , VisualStudio2015_DEPRECATED ,
  VisualStudio2015 , VisualStudio2017 , VisualStudio2019 , VisualStudio2022
}
 Available compiler toolchains on Windows platform. More...
 
enum  WindowsStaticAnalyzer { None , VisualCpp , PVSStudio }
 Which static analyzer to use. More...
 
enum  TargetType {
  Game , Editor , Client , Server ,
  Program
}
 The type of target. More...
 
enum  UnrealTargetConfiguration {
  Unknown , Debug , DebugGame , Development ,
  Shipping , Test
}
 The type of configuration a target can be built for. More...
 
enum  WindowsStaticAnalyzerOutputType { Text , Html }
 Output type for the static analyzer. This currently only works for the Clang static analyzer. The Clang static analyzer can do either Text, which prints the analysis to stdout, or html, where it writes out a navigable HTML page for each issue that it finds, per file. The HTML is output in the same directory as the object fil that would otherwise have been generated. All other analyzers default automatically to Text. More...
 
enum  EngineIncludeOrderVersion { Unreal5_0 , Unreal5_1 , Latest , Oldest }
 What version of include order to use when compiling. More...
 
enum  StaticAnalyzerMode { Deep , Shallow }
 Output type for the static analyzer. This currently only works for the Clang static analyzer. The Clang static analyzer can do a shallow quick analysis. However the default deep is recommended. More...
 
enum  CStandardVersion {
  Default , C89 , C99 , C11 ,
  C17 , Latest
}
 Specifies which C language standard to use. This enum should be kept in order, so that toolchains can check whether the requested setting is >= values that they support. More...
 
enum  OptimizationMode { Speed , Size , SizeAndSpeed }
 Optimization mode for compiler settings. More...
 
enum  MinimumCpuArchitectureX64 {
  None , AVX , AVX2 , AVX512 ,
  Default
}
 Specifies the architecture for code generation on x64 for windows platforms. Note that by enabling this you are changing the minspec for the PC platform, and the resultant executable will crash on machines without AVX support. For more details please see https://learn.microsoft.com/en-us/cpp/build/reference/arch-x64. More...
 
enum  FPSemanticsMode { Default , Precise , Imprecise }
 Floating point math semantics. More...
 
enum  DebugInfoMode {
  None , Engine , EnginePlugins , Project ,
  ProjectPlugins , EngineOnly , ProjectOnly , Full
}
 Debug info mode for compiler settings to determine how much debug info is available. More...
 
enum  Arm64TargetCpuType { Default , Graviton2 , Graviton3 }
 Target ARM64 CPU for codegen. This defines different ARM ISA and extension targets. More...
 
enum  StaticAnalyzer {
  None , Default , VisualCpp , PVSStudio ,
  Clang
}
 Which static analyzer to use. More...
 
enum  StaticAnalyzerOutputType { Text , Html }
 Output type for the static analyzer. This currently only works for the Clang static analyzer. The Clang static analyzer can do either Text, which prints the analysis to stdout, or html, where it writes out a navigable HTML page for each issue that it finds, per file. The HTML is output in the same directory as the object file that would otherwise have been generated. All other analyzers default automatically to Text. More...
 
enum  ProjectFileFormat {
  Make , CMake , QMake , KDevelop ,
  CodeLite , VisualStudio , VisualStudio2012 , VisualStudio2013 ,
  VisualStudio2015 , VisualStudio2017 , VisualStudio2019 , VisualStudio2022 ,
  XCode , Eddie , VisualStudioCode , VisualStudioMac ,
  CLion , Rider
}
 The type of project files to generate. More...
 
enum  DocumentationType { BuildConfiguration , ModuleRules , TargetRules }
 Enum for the type of documentation to generate. More...
 
enum  QueryType { Capabilities , AvailableTargets , TargetDetails }
 
enum  PipAction {
  OnlySetupParse , OnlyInstall , GenRequirements , Setup ,
  Parse , Install , ViewLicenses
}
 

Functions

record class UnrealToolArgumentMeta (UnrealCompatibility Compatibility=UnrealCompatibility.All, bool AllowMultiple=false, bool IsRawText=false)
 Properties guiding how to process the argument.
 
partial record class UnrealToolArgument (string Name, string? Value=null, char Setter='=', UnrealToolArgumentMeta? Meta=null)
 Argument for an Unreal tool.
 

Enumeration Type Documentation

◆ Arm64TargetCpuType

Target ARM64 CPU for codegen. This defines different ARM ISA and extension targets.

Enumerator
Default 

Default ARMv8.0-A ISA target CPU, supported by every 64 bit ARM CPU.

Graviton2 

AWS Graviton2 CPU - ARM Neoverse N1 uArch with ARMv8.2-A ISA + FP16 + rcpc + dotprod + crypto extensions.

Graviton3 

AWS Graviton3 CPU - ARM Neoverse V1 uArch with AMRv8.4-A ISA + SVE + bf16 + rng + crypto extensions.

Definition at line 388 of file UbtConfigGenerated.cs.

◆ CppStandardVersion

Specifies which language standard to use. This enum should be kept in order, so that toolchains can check whether the requested setting is >= values that they support.

Enumerator
Default 

Use the default standard version.

Cpp14 

Supports C++14.

Cpp17 

Supports C++17.

Latest 

Latest standard supported by the compiler.

Definition at line 49 of file UbtConfigGenerated.cs.

◆ CStandardVersion

Specifies which C language standard to use. This enum should be kept in order, so that toolchains can check whether the requested setting is >= values that they support.

Enumerator
Default 

Use the default standard version.

C89 

Supports C89.

C99 

Supports C99.

C11 

Supports C11.

C17 

Supports C17.

Latest 

Latest standard supported by the compiler.

Definition at line 247 of file UbtConfigGenerated.cs.

◆ DebugInfoMode

Debug info mode for compiler settings to determine how much debug info is available.

Enumerator
None 

Disable all debugging info. MSVC: object files will be compiled without /Z7 or /Zi but pdbs will still be created callstacks should be available in this mode but there have been reports with them being incorrect.

Engine 

Enable debug info for engine modules.

EnginePlugins 

Enable debug info for engine plugins.

Project 

Enable debug info for project modules.

ProjectPlugins 

Enable debug info for project plugins.

EngineOnly 

Only include debug info for engine modules and plugins.

ProjectOnly 

Only include debug info for project modules and project plugins.

Full 

Include full debugging information for all modules.

Definition at line 347 of file UbtConfigGenerated.cs.

◆ DocumentationType

Enum for the type of documentation to generate.

Definition at line 499 of file UbtConfigGenerated.cs.

◆ EngineIncludeOrderVersion

What version of include order to use when compiling.

Enumerator
Unreal5_0 

Include order used in Unreal 5.0.

Unreal5_1 

Include order used in Unreal 5.1.

Latest 

Always use the latest version of include order.

Oldest 

Contains the oldest version of include order that the engine supports.

Definition at line 208 of file UbtConfigGenerated.cs.

◆ FPSemanticsMode

Floating point math semantics.

Enumerator
Default 

Use the default semantics for the platform.

Precise 

FP math is IEEE-754 compliant, assuming that FP exceptions are disabled and the rounding mode is round-to-nearest-even.

Imprecise 

FP math isn't IEEE-754 compliant: the compiler is allowed to transform math expressions in a ways that might result in differently rounded results from what IEEE-754 requires.

Definition at line 326 of file UbtConfigGenerated.cs.

◆ HotReloadMode

The current hot reload mode.

Definition at line 13 of file UbtConfigGenerated.cs.

◆ MinimumCpuArchitectureX64

Specifies the architecture for code generation on x64 for windows platforms. Note that by enabling this you are changing the minspec for the PC platform, and the resultant executable will crash on machines without AVX support. For more details please see https://learn.microsoft.com/en-us/cpp/build/reference/arch-x64.

Enumerator
None 

No minimum architecure.

AVX 

Enables the use of Intel Advanced Vector Extensions instructions.

AVX2 

Enables the use of Intel Advanced Vector Extensions 2 instructions.

AVX512 

Enables the use of Intel Advanced Vector Extensions 512 instructions.

Default 

Use the default minimum architecure.

Definition at line 299 of file UbtConfigGenerated.cs.

◆ OptimizationMode

Optimization mode for compiler settings.

Enumerator
Speed 

Favor speed.

Size 

Favor minimal code size.

SizeAndSpeed 

Somewhere between Speed and Size.

Definition at line 278 of file UbtConfigGenerated.cs.

◆ PipAction

enum Nuke.Unreal.Tools.PipAction

Definition at line 521 of file UbtConfigGenerated.cs.

◆ ProjectFileFormat

The type of project files to generate.

Definition at line 456 of file UbtConfigGenerated.cs.

◆ QueryType

enum Nuke.Unreal.Tools.QueryType

Definition at line 510 of file UbtConfigGenerated.cs.

◆ StaticAnalyzer

Which static analyzer to use.

Enumerator
None 

Do not perform static analysis.

Default 

Use the default static analyzer for the selected compiler, if it has one. For Visual Studio and Clang, this means using their built-in static analysis tools. Any compiler that doesn't support static analysis will ignore this option.

VisualCpp 

Use the built-in Visual C++ static analyzer.

PVSStudio 

Use PVS-Studio for static analysis.

Clang 

Use clang for static analysis. This forces the compiler to clang.

Definition at line 407 of file UbtConfigGenerated.cs.

◆ StaticAnalyzerMode

Output type for the static analyzer. This currently only works for the Clang static analyzer. The Clang static analyzer can do a shallow quick analysis. However the default deep is recommended.

Enumerator
Deep 

Default deep analysis.

Shallow 

Quick analysis. Not recommended.

Definition at line 232 of file UbtConfigGenerated.cs.

◆ StaticAnalyzerOutputType

Output type for the static analyzer. This currently only works for the Clang static analyzer. The Clang static analyzer can do either Text, which prints the analysis to stdout, or html, where it writes out a navigable HTML page for each issue that it finds, per file. The HTML is output in the same directory as the object file that would otherwise have been generated. All other analyzers default automatically to Text.

Enumerator
Text 

Output the analysis to stdout.

Html 

Output the analysis to an HTML file in the object folder.

Definition at line 441 of file UbtConfigGenerated.cs.

◆ TargetType

The type of target.

Enumerator
Game 

Cooked monolithic game executable (GameName.exe). Also used for a game-agnostic engine executable (UE4Game.exe or RocketGame.exe)

Editor 

Uncooked modular editor executable and DLLs (UE4Editor.exe, UE4Editor*.dll, GameName*.dll)

Client 

Cooked monolithic game client executable (GameNameClient.exe, but no server code)

Server 

Cooked monolithic game server executable (GameNameServer.exe, but no client code)

Program 

Program (standalone program, e.g. ShaderCompileWorker.exe, can be modular or monolithic depending on the program)

Definition at line 130 of file UbtConfigGenerated.cs.

◆ UnrealTargetConfiguration

The type of configuration a target can be built for.

Enumerator
Unknown 

Unknown.

Debug 

Debug configuration.

DebugGame 

DebugGame configuration; equivalent to development, but with optimization disabled for game modules.

Development 

Development configuration.

Shipping 

Shipping configuration.

Test 

Test configuration.

Definition at line 157 of file UbtConfigGenerated.cs.

◆ WarningLevel

Controls how a particular warning is treated.

Enumerator
Off 

Do not display diagnostics.

Warning 

Output warnings normally.

Error 

Output warnings as errors.

Definition at line 30 of file UbtConfigGenerated.cs.

◆ WindowsCompiler

Available compiler toolchains on Windows platform.

Enumerator
Default 

Use the default compiler. A specific value will always be used outside of configuration classes.

Clang 

Use Clang for Windows, using the clang-cl driver.

Intel 

Use the Intel C++ compiler.

VisualStudio2015_DEPRECATED 

Visual Studio 2015 (Visual C++ 14.0)

VisualStudio2015 

Visual Studio 2015 (Visual C++ 14.0)

VisualStudio2017 

Visual Studio 2017 (Visual C++ 15.0)

VisualStudio2019 

Visual Studio 2019 (Visual C++ 16.0)

VisualStudio2022 

Visual Studio 2022 (Visual C++ 17.0)

Definition at line 72 of file UbtConfigGenerated.cs.

◆ WindowsStaticAnalyzer

Which static analyzer to use.

Enumerator
None 

Do not perform static analysis.

VisualCpp 

Use the built-in Visual C++ static analyzer.

PVSStudio 

Use PVS-Studio for static analysis.

Definition at line 111 of file UbtConfigGenerated.cs.

◆ WindowsStaticAnalyzerOutputType

Output type for the static analyzer. This currently only works for the Clang static analyzer. The Clang static analyzer can do either Text, which prints the analysis to stdout, or html, where it writes out a navigable HTML page for each issue that it finds, per file. The HTML is output in the same directory as the object fil that would otherwise have been generated. All other analyzers default automatically to Text.

Enumerator
Text 

Output the analysis to stdout.

Html 

Output the analysis to an HTML file in the object folder.

Definition at line 193 of file UbtConfigGenerated.cs.

Function Documentation

◆ UnrealToolArgument()

partial record class Nuke.Unreal.Tools.UnrealToolArgument ( string Name,
string? Value = null,
char Setter = '=',
UnrealToolArgumentMeta? Meta = null )

Argument for an Unreal tool.

Parameters
NameArgument name including optional starting dash (-MyArg)
ValueFlattened value of argument
Setter
MetaProperties guiding how to process the argument

Definition at line 37 of file UnrealToolArgument.cs.

◆ UnrealToolArgumentMeta()

record class Nuke.Unreal.Tools.UnrealToolArgumentMeta ( UnrealCompatibility Compatibility = UnrealCompatibility.All,
bool AllowMultiple = false,
bool IsRawText = false )

Properties guiding how to process the argument.

Parameters
CompatibilityWhich major engine version this argument is compatible with
AllowMultipleAllow multiple instances of this argument distinct by name only in the same command line output.
IsRawTextArgument is provided as-is in the Name field, do not parse it or escape it.
Returns