|
Nuke.Unreal
Build Unreal apps in Style.
|
A little bit of theory: Unreal plugins are simple on the surface but easily can get very complicated to handle especially when they need to interact with the non-unreal world. For this reason it is recommended to break up development and distribution of Unreal plugins into multiple stages:
Nuke.Unreal lives in the "**True Plugin Source**" stage (whatever that may look like in your software architecture) and helps to deliver it to further distribution stages.
Plugins can be managed by creating your own targets to handle them. You can do that inside either your main build class, or glue that logic to your Unreal plugin in its folder structure via Nuke.Cola build plugins. The simplest method of which is standalone *.nuke.cs files which are compiled with the build project.
Let's have this scaffolding as an example:
Build interfaces (or in Nuke vocabulary "[Build Components](https://nuke.build/docs/sharing/build-components/)") decorated with [ImplicitBuildInterface] inside these *.nuke.cs files will automatically contribute to the build graph without further boilerplate.
And call them later with
You have absolute freedom to organize the task-dependency graph around handling your plugins. For example one target may manipulate multiple plugins even, from a dynamic set of folders. The above example is just a simple use-case.