|
Nuke.Unreal
Build Unreal apps in Style.
|
Base interface for build components which require an UnrealBuild main class. More...
Public Member Functions | |
| AbsolutePath | GetOutput () |
| Get an output folder where the targets should store their artifacts. Override this function in your main build class to enforce your own. | |
| UbtConfig | UbtGlobal (UbtConfig _) |
| UBT arguments to be applied globally for all UBT invocations. Override this function in your main build class if your project needs extra intricacies for everything what UBT may do through Nuke.Unreal. | |
| UatConfig | UatGlobal (UatConfig _) |
| UAT arguments to be applied globally for all UAT invocations. Override this function in your main build class if your project needs extra intricacies for everything what UAT may do through Nuke.Unreal. | |
| EngineVersion | GetEngineVersionFromProject () |
Utility function to get the proper Engine version associated with current project. Rather use Unreal.Version static function, that looks nicer. | |
| IEnumerable< string > | GetArgumentBlock (string name="") |
Get optionally named argument block (section after -->) with contextual data substituted.
| |
| ConfigIni | ReadIniHierarchy (string shortName, IniHierarchyLevel lowestLevel=IniHierarchyLevel.Base, IniHierarchyLevel highestLevel=IniHierarchyLevel.Saved, bool considerPlugins=true, IEnumerable< string >? extraConfigSubfolder=null) |
| Read INI configuration emulating the same hierarchy of importance as Unreal Engine also does. | |
| UatConfig | UatCook (UatConfig _) |
| UAT arguments to be applied every time UAT is called for Cooking. Override this function in your main build class if your project needs extra intricacies for Cooking. For example specifying maps explicitly. | |
| bool | ForDistribution () |
Enforce packaging for distribution when that is set from Game ini files. Override this function in your main build class if you want a different logic set for flagging packages for distribution. | |
Properties | |
| UnrealPlatform | Platform [get] |
| UnrealConfig[] | Config [get] |
| UnrealConfig[] | EditorConfig [get] |
| UnrealTargetType[] | TargetType [get] |
| AndroidCookFlavor[] | AndroidTextureMode [get] |
| AbsolutePath | UnrealEnginePath [get] |
| Path to the root of the associated Unreal Engine installation/source. | |
| AbsolutePath | ProjectPath [get] |
| AbsolutePath | ProjectFolder [get] |
Path to folder containing the .project file. | |
| AbsolutePath | PluginsFolder [get] |
| Path to the Unreal plugins folder of this project. | |
| string | ProjectName [get] |
| Short name of the project. | |
| ProjectDescriptor | ProjectDescriptor [get] |
"Immutable" C# representation of the .uproject contents | |
| AbsolutePath | TemplatesPath [get] |
| string[] | Name [get] |
| string[] | Spec [get] |
| Target | HelpNukeUnreal [get] |
| Target | Info [get] |
| Target | CleanDeployment [get] |
| Target | CleanProject [get] |
| Target | CleanPlugins [get] |
| Target | Clean [get] |
| Target | Switch [get] |
| Target | Prepare [get] |
| Target | Generate [get] |
| Target | SetupPlatformSdk [get] |
| Target | BuildEditor [get] |
| Target | Build [get] |
| Target | Cook [get] |
| Target | EnsureBuildPluginSupport [get] |
| Target | RunUat [get] |
| Target | RunUbt [get] |
| Target | RunShell [get] |
| Target | Run [get] |
| Target | RunEditorCmd [get] |
| Target | NewModule [get] |
| Target | AddCode [get] |
| Target | NewPlugin [get] |
| Target | NewActor [get] |
| Target | NewInterface [get] |
| Target | NewObject [get] |
| Target | NewStruct [get] |
| Target | NewSpec [get] |
| Target | UseLibrary [get] |
| Target | UseXRepo [get] |
| Target | UseCMake [get] |
| Target | UseHeaderOnly [get] |
Base interface for build components which require an UnrealBuild main class.
Definition at line 13 of file IUnrealBuild.cs.
| bool Nuke.Unreal.IUnrealBuild.ForDistribution | ( | ) |
Enforce packaging for distribution when that is set from Game ini files. Override this function in your main build class if you want a different logic set for flagging packages for distribution.
Implemented in Nuke.Unreal.UnrealBuild.
| IEnumerable< string > Nuke.Unreal.IUnrealBuild.GetArgumentBlock | ( | string | name = "" | ) |
Get optionally named argument block (section after -->) with contextual data substituted.
~p Project file path ~pdir Project folder ~ue Unreal Engine folder Implemented in Nuke.Unreal.UnrealBuild.
| EngineVersion Nuke.Unreal.IUnrealBuild.GetEngineVersionFromProject | ( | ) |
Utility function to get the proper Engine version associated with current project. Rather use Unreal.Version static function, that looks nicer.
Implemented in Nuke.Unreal.UnrealBuild.
| AbsolutePath Nuke.Unreal.IUnrealBuild.GetOutput | ( | ) |
Get an output folder where the targets should store their artifacts. Override this function in your main build class to enforce your own.
Implemented in Nuke.Unreal.UnrealBuild.
| ConfigIni Nuke.Unreal.IUnrealBuild.ReadIniHierarchy | ( | string | shortName, |
| IniHierarchyLevel | lowestLevel = IniHierarchyLevel.Base, | ||
| IniHierarchyLevel | highestLevel = IniHierarchyLevel.Saved, | ||
| bool | considerPlugins = true, | ||
| IEnumerable< string >? | extraConfigSubfolder = null ) |
Read INI configuration emulating the same hierarchy of importance as Unreal Engine also does.
| shortName | The name of the configuration like Game or Engine |
| lowestLevel | The least important level of hierarchy for reading this config. Default is Base |
| highestLevel | The maximum important level of hierarchy for reading this config Default is Saved |
| considerPlugins | If true also consider config files found in plugins. Default if true. |
| extraConfigSubfolder | Manually add extra configuration subfolders which may be outside of the normal sources of config files. |
Implemented in Nuke.Unreal.UnrealBuild.
UAT arguments to be applied every time UAT is called for Cooking. Override this function in your main build class if your project needs extra intricacies for Cooking. For example specifying maps explicitly.
Implemented in Nuke.Unreal.UnrealBuild.
UAT arguments to be applied globally for all UAT invocations. Override this function in your main build class if your project needs extra intricacies for everything what UAT may do through Nuke.Unreal.
Implemented in Nuke.Unreal.UnrealBuild.
UBT arguments to be applied globally for all UBT invocations. Override this function in your main build class if your project needs extra intricacies for everything what UBT may do through Nuke.Unreal.
These arguments are also propagated to all UAT invocations through its -UbtArgs
Implemented in Nuke.Unreal.UnrealBuild.
|
get |
NUKE TARGET
Add C++ code to a project which doesn't have one yet.
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 497 of file IUnrealBuild.cs.
|
get |
NUKE PARAMETER
Select texture compression mode for Android
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 61 of file IUnrealBuild.cs.
|
get |
NUKE TARGET
Build this project for execution
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 345 of file IUnrealBuild.cs.
|
get |
NUKE TARGET
Build the editor binaries so this project can be opened properly in the Unreal editor
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 331 of file IUnrealBuild.cs.
|
get |
NUKE TARGET
Removes auto generated folders of Unreal Engine
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 281 of file IUnrealBuild.cs.
|
get |
NUKE TARGET
Removes previous deployment folder
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 257 of file IUnrealBuild.cs.
|
get |
NUKE TARGET
Removes auto generated folders of Unreal Engine from the plugins
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 273 of file IUnrealBuild.cs.
|
get |
NUKE TARGET
Removes auto generated folders of Unreal Engine from the project
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 265 of file IUnrealBuild.cs.
|
get |
NUKE PARAMETER
The target configuration for building or packaging the project
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 37 of file IUnrealBuild.cs.
|
get |
NUKE TARGET
Cook Unreal assets for standalone game execution
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 360 of file IUnrealBuild.cs.
|
get |
NUKE PARAMETER
The editor configuration to be used while building or packaging the project
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 45 of file IUnrealBuild.cs.
|
get |
NUKE TARGET
Ensure support for plain C# build plugins without the need for CSX or dotnet projects. This only needs to be done once, you can check the results into source control.
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 369 of file IUnrealBuild.cs.
|
get |
NUKE TARGET
Generate project files for the default IDE of the current platform. You can specify further details with -->ubt argument block. It is equivalent to right clicking the uproject and selecting "Generate _IDE_
project files".
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 317 of file IUnrealBuild.cs.
|
get |
NUKE TARGET
Opens the Nuke.Unreal online documentation
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 241 of file IUnrealBuild.cs.
|
get |
NUKE TARGET
Prints curated information about project
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 249 of file IUnrealBuild.cs.
|
get |
NUKE PARAMETER
Name parameter for boilerplate generators.
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 195 of file IUnrealBuild.cs.
|
get |
NUKE TARGET
Create new Unreal Actor in current directory
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 521 of file IUnrealBuild.cs.
|
get |
NUKE TARGET
Create new Unreal Interface in current directory
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 533 of file IUnrealBuild.cs.
|
get |
NUKE TARGET
Create new module in the owning project or plugin (depending on working directory)
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 485 of file IUnrealBuild.cs.
|
get |
NUKE TARGET
Create new Unreal Object in current directory
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 545 of file IUnrealBuild.cs.
|
get |
NUKE TARGET
Create a new project plugin.
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 509 of file IUnrealBuild.cs.
|
get |
NUKE TARGET
Create new Unreal Automation Spec in current directory
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 569 of file IUnrealBuild.cs.
|
get |
NUKE TARGET
Create new Unreal Struct in current directory
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 557 of file IUnrealBuild.cs.
|
get |
NUKE PARAMETER
Set platform for running targets
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 29 of file IUnrealBuild.cs.
|
get |
Path to the Unreal plugins folder of this project.
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 152 of file IUnrealBuild.cs.
|
get |
NUKE TARGET
Run necessary preparations which needs to be done before Unreal tools can handle the project. By default it is empty and the main build project may override it or other Targets can depend on it / hook into it.
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 304 of file IUnrealBuild.cs.
|
get |
"Immutable" C# representation of the .uproject contents
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 162 of file IUnrealBuild.cs.
|
get |
Path to folder containing the .project file.
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 147 of file IUnrealBuild.cs.
|
get |
Short name of the project.
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 157 of file IUnrealBuild.cs.
|
get |
Optionally specify a path to a .uproject file.
If not overridden Nuke.Unreal will traverse upwards on the directory tree, then sift through all subdirectories recursively (ignoring some known folders)
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 142 of file IUnrealBuild.cs.
|
get |
NUKE TARGET
Run an Unreal tool from the engine binaries folder. You can omit the Unreal prefix and the extension. For example:
Working directory is the project folder, regardless of actual working directory.
The following symbols are replaced by Nuke.Unreal:
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 450 of file IUnrealBuild.cs.
|
get |
NUKE TARGET
Run an editor commandlet with arguments passed in after -->
The following symbols are replaced by Nuke.Unreal:
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 470 of file IUnrealBuild.cs.
|
get |
NUKE TARGET
Start a UShell session. This opens a new console window, and nuke will exit immadiately. Working directory is the project folder, regardless of actual working directory.
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 420 of file IUnrealBuild.cs.
|
get |
NUKE TARGET
Simply run UAT with arguments passed after -->
The following symbols are replaced by Nuke.Unreal:
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 391 of file IUnrealBuild.cs.
|
get |
NUKE TARGET
Simply run UBT with arguments passed after -->
The following symbols are replaced by Nuke.Unreal:
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 411 of file IUnrealBuild.cs.
|
get |
Definition at line 319 of file IUnrealBuild.cs.
|
get |
NUKE PARAMETER
Specification(s) of the imported library(ies). This is used slightly differently based on which library type is being used:
Header / CMake: It's only the name of the library (like \--Spec spdlog)
XRepo: specify the xrepo package reference and its config separated by space. For example:
Or multiple libraries at once
More about xrepo: https://xrepo.xmake.io
Since Unreal uses MD runtime linkage ‘runtimes='MD’` config is always appended by Nuke.Unreal, and the user must not specify it.
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 231 of file IUnrealBuild.cs.
|
get |
NUKE TARGET
Switch to an explicit Engine version
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 292 of file IUnrealBuild.cs.
|
get |
NUKE PARAMETER
The Unreal target type for building the project
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 53 of file IUnrealBuild.cs.
|
get |
NUKE PARAMETER
Specify a folder containing generator specific folders for Scriban scaffolding and templates. If left empty the templates coming with Nuke.Unreal will be used.
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 187 of file IUnrealBuild.cs.
|
get |
Path to the root of the associated Unreal Engine installation/source.
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 88 of file IUnrealBuild.cs.
|
get |
|
get |
|
get |
NUKE TARGET
Create boilerplate module for third-party C++ libraries. Specify the kind of library with \--LibraryType Header|CMake|XRepo The latter two will generate extra nuke targets preparing the library to be consumed by Unreal. Fetching/storing the library is up to the developer (except of course with XRepo).
Use type specific targets for more comfortable CLI experience, for example
nuke use-xrepo \--Spec tracy
instead of
nuke UseLibrary --LibraryType xrepo --Spec tracy
This only needs to be done once, you can check the results into source control.
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 597 of file IUnrealBuild.cs.
|
get |
NUKE TARGET
Use libraries from the xrepo package manager. This target only configures another target which will eventually fetch the input libraries. To make them available to Unreal run Prepare or Generate targets.
Specify the xrepo package reference and its config separated by space. For example:
Or multiple libraries at once
More about xrepo: https://xrepo.xmake.io
Since Unreal uses MD runtime linkage ‘runtimes='MD’` config is always appended by Nuke.Unreal, and the user must not specify it.
Implemented in Nuke.Unreal.UnrealBuild.
Definition at line 635 of file IUnrealBuild.cs.