|
Nuke.Unreal
Build Unreal apps in Style.
|
Classes | |
| class | AutoRuntimeDependencyGenerator |
| class | RuntimeDependencies |
| class | RuntimeDependenciesExtensions |
| class | RuntimeDependency |
| class | RuntimeLibraryPath |
| class | UnrealPlugin |
| A class encapsulating information and tasks around one Unreal plugin. More... | |
| class | UnrealPluginExtensions |
Enumerations | |
| enum | RuntimeDependencyConfig { Debug , Release , All } |
| enum | LocalizationTargetDescriptorLoadingPolicy { Never , Always , Editor , Game , PropertyNames , ToolTips } |
| enum | ModuleHostType { Default , Runtime , RuntimeNoCommandlet , RuntimeAndProgram , CookedOnly , UncookedOnly , Developer , DeveloperTool , Editor , EditorNoCommandlet , EditorAndProgram , Program , ServerOnly , ClientOnly , ClientOnlyNoCommandlet } |
| The type of host that can load a module. More... | |
| enum | ModuleLoadingPhase { Default , PostDefault , PreDefault , EarliestPossible , PostConfigInit , PostSplashScreen , PreEarlyLoadingScreen , PreLoadingScreen , PostEngineInit , None } |
| Indicates when the engine should attempt to load this module. More... | |
| enum | PluginDescriptorVersion { Invalid = 0 , Initial = 1 , NameHash = 2 , ProjectPluginUnification = 3 , LatestPlusOne , Latest = LatestPlusOne - 1 } |
| The version format for .uplugin files. This rarely changes now; plugin descriptors should maintain backwards compatibility automatically. More... | |
| enum | PluginBuildMethod { UAT , UBT } |
| Method of packaging a plugin. More... | |
Functions | |
| record class | LocalizationTargetDescriptor (string Name, LocalizationTargetDescriptorLoadingPolicy LoadingPolicy) |
| record class | ModuleDescriptor (string? Name=null, ModuleHostType? Type=null, ModuleLoadingPhase? LoadingPhase=null, List< UnrealPlatform >? PlatformAllowList=null, List< UnrealPlatform >? PlatformDenyList=null, List< UnrealTargetType >? TargetAllowList=null, List< UnrealTargetType >? TargetDenyList=null, List< UnrealConfig >? TargetConfigurationAllowList=null, List< UnrealConfig >? TargetConfigurationDenyList=null, List< string >? ProgramAllowList=null, List< string >? ProgramDenyList=null, List< string >? AdditionalDependencies=null, bool? HasExplicitPlatforms=null) |
| Class containing information about a code module. | |
| record class | PluginDescriptor (int FileVersion=3, int Version=1, string? VersionName=null, string? FriendlyName=null, string? Description=null, string? Category=null, string? CreatedBy=null, string? CreatedByURL=null, string? DocsURL=null, string? MarketplaceURL=null, string? SupportURL=null, string? EngineVersion=null, bool? IsPluginExtension=null, List< UnrealPlatform >? SupportedTargetPlatforms=null, List< string >? SupportedPrograms=null, List< ModuleDescriptor >? Modules=null, List< LocalizationTargetDescriptor >? LocalizationTargets=null, bool? EnabledByDefault=null, bool? CanContainContent=null, bool? CanContainVerse=null, bool? IsBetaVersion=null, bool? IsExperimentalVersion=null, bool? Installed=null, bool? RequiresBuildPlatform=null, bool? IsSealed=null, bool? NoCode=null, bool? ExplicitlyLoaded=null, bool? HasExplicitPlatforms=null, Dictionary< UnrealPlatform, List< string > >? PreBuildSteps=null, Dictionary< UnrealPlatform, List< string > >? PostBuildSteps=null, List< PluginReferenceDescriptor >? Plugins=null, List< string >? DisallowedPlugins=null) |
| In-memory representation of a .uplugin file. | |
| record class | PluginReferenceDescriptor (string? Name=null, bool? Enabled=null, bool? Optional=null, string? Description=null, string? MarketplaceURL=null, List< string >? PlatformAllowList=null, List< string >? PlatformDenyList=null, List< UnrealConfig >? TargetConfigurationAllowList=null, List< UnrealConfig >? TargetConfigurationDenyList=null, List< UnrealTargetType >? TargetAllowList=null, List< UnrealTargetType >? TargetDenyList=null, List< string >? SupportedTargetPlatforms=null, bool? HasExplicitPlatforms=null, int? RequestedVersion=null) |
| Representation of a reference to a plugin from a project file. | |
| record class | PluginDistributionOptions (RelativePath? OutputSubfolder=null, AbsolutePath? OutputOverride=null, bool GenerateFilterPluginIni=true, bool UPluginAssociateEngineVersion=true, bool UPluginIsInstalled=true, Func< PluginDescriptor, PluginDescriptor >? UPluginConfig=null) |
| Options for creating a distributable version of this plugin, usually for making it independent of Nuke. | |
| record class | PluginBuildOptions (RelativePath? OutputSubfolder=null, AbsolutePath? OutputOverride=null, bool UseDistributedPlugin=true, PluginBuildMethod Method=PluginBuildMethod.UBT, UnrealPlatform[]? Platforms=null) |
| Options for packaging plugins for binary distribution.. | |
| record class | PluginBuildArguments (Func< UatConfig, UatConfig >? UatConfig=null, Func< UbtConfig, UbtConfig >? UbtConfig=null, PluginBuildOptions? BuildOptions=null, PluginDistributionOptions? DistOptions=null, Func< UnrealPlugin, PluginBuildArguments, PluginBuildArguments?>? DependencyHandler=null) |
| Arguments for BuildPlugin. | |
| enum Nuke.Unreal.Plugins.LocalizationTargetDescriptorLoadingPolicy |
Definition at line 3 of file LocalizationDescriptor.cs.
The type of host that can load a module.
Definition at line 8 of file ModuleDescriptor.cs.
Indicates when the engine should attempt to load this module.
Definition at line 89 of file ModuleDescriptor.cs.
Method of packaging a plugin.
| Enumerator | |
|---|---|
| UAT | Use vanilla UAT BuildPlugin feature. |
| UBT | Nuke.Unreal will use UBT directly in a similar way than UAT does, but with extra features/bugfixes that UAT doesn't have, for example automatically handle plugin dependencies, but in a customizable way. This is the default method. |
Definition at line 58 of file UnrealPlugin.cs.
The version format for .uplugin files. This rarely changes now; plugin descriptors should maintain backwards compatibility automatically.
Definition at line 10 of file PluginDescriptor.cs.
| enum Nuke.Unreal.Plugins.RuntimeDependencyConfig |
Definition at line 18 of file AutoRuntimeDependencies.cs.
| record class Nuke.Unreal.Plugins.ModuleDescriptor | ( | string? | Name = null, |
| ModuleHostType? | Type = null, | ||
| ModuleLoadingPhase? | LoadingPhase = null, | ||
| List< UnrealPlatform >? | PlatformAllowList = null, | ||
| List< UnrealPlatform >? | PlatformDenyList = null, | ||
| List< UnrealTargetType >? | TargetAllowList = null, | ||
| List< UnrealTargetType >? | TargetDenyList = null, | ||
| List< UnrealConfig >? | TargetConfigurationAllowList = null, | ||
| List< UnrealConfig >? | TargetConfigurationDenyList = null, | ||
| List< string >? | ProgramAllowList = null, | ||
| List< string >? | ProgramDenyList = null, | ||
| List< string >? | AdditionalDependencies = null, | ||
| bool? | HasExplicitPlatforms = null ) |
Class containing information about a code module.
| Name | Name of this module |
| Type | Usage type of module |
| LoadingPhase | When should the module be loaded during the startup sequence? This is sort of an advanced setting. |
| PlatformAllowList | List of allowed platforms |
| PlatformDenyList | List of disallowed platforms |
| TargetAllowList | List of allowed targets |
| TargetDenyList | List of disallowed targets |
| TargetConfigurationAllowList | List of allowed target configurations |
| TargetConfigurationDenyList | List of disallowed target configurations |
| ProgramAllowList | List of allowed programs |
| ProgramDenyList | List of disallowed programs |
| AdditionalDependencies | List of additional dependencies for building this module. |
| HasExplicitPlatforms | When true, an empty PlatformAllowList is interpreted as 'no platforms' with the expectation that explicit platforms will be added in plugin extensions */ |
| record class Nuke.Unreal.Plugins.PluginBuildArguments | ( | Func< UatConfig, UatConfig >? | UatConfig = null, |
| Func< UbtConfig, UbtConfig >? | UbtConfig = null, | ||
| PluginBuildOptions? | BuildOptions = null, | ||
| PluginDistributionOptions? | DistOptions = null, | ||
| Func< UnrealPlugin, PluginBuildArguments, PluginBuildArguments?>? | DependencyHandler = null ) |
Arguments for BuildPlugin.
| record class Nuke.Unreal.Plugins.PluginBuildOptions | ( | RelativePath? | OutputSubfolder = null, |
| AbsolutePath? | OutputOverride = null, | ||
| bool | UseDistributedPlugin = true, | ||
| PluginBuildMethod | Method = PluginBuildMethod.UBT, | ||
| UnrealPlatform?[] | Platforms = null ) |
Options for packaging plugins for binary distribution..
| OutputSubfolder | Relative path to the output folder indicated by UnrealBuild.GetOutput(). Default is Plugins/{Name}/Build |
| OutputOverride | If set, this will disregard both UnrealBuild.GetOutput() and OutputSubfolder, and use this as the output of plugin distribution tasks |
| UseDistributedPlugin | If set to true, first make a distributed copy of this plugin and then package it with UAT from that. |
| Method | Select the method of packaging the plugin. If you have problems with duplicate types in your module rules, then set this to PluginBuildMethod.UBT. |
| Platforms | Extra platforms to build this plugin for. UnrealBuild.Platform is always added to this list. |
| record class Nuke.Unreal.Plugins.PluginDescriptor | ( | int | FileVersion = 3, |
| int | Version = 1, | ||
| string? | VersionName = null, | ||
| string? | FriendlyName = null, | ||
| string? | Description = null, | ||
| string? | Category = null, | ||
| string? | CreatedBy = null, | ||
| string? | CreatedByURL = null, | ||
| string? | DocsURL = null, | ||
| string? | MarketplaceURL = null, | ||
| string? | SupportURL = null, | ||
| string? | EngineVersion = null, | ||
| bool? | IsPluginExtension = null, | ||
| List< UnrealPlatform >? | SupportedTargetPlatforms = null, | ||
| List< string >? | SupportedPrograms = null, | ||
| List< ModuleDescriptor >? | Modules = null, | ||
| List< LocalizationTargetDescriptor >? | LocalizationTargets = null, | ||
| bool? | EnabledByDefault = null, | ||
| bool? | CanContainContent = null, | ||
| bool? | CanContainVerse = null, | ||
| bool? | IsBetaVersion = null, | ||
| bool? | IsExperimentalVersion = null, | ||
| bool? | Installed = null, | ||
| bool? | RequiresBuildPlatform = null, | ||
| bool? | IsSealed = null, | ||
| bool? | NoCode = null, | ||
| bool? | ExplicitlyLoaded = null, | ||
| bool? | HasExplicitPlatforms = null, | ||
| Dictionary< UnrealPlatform, List< string > >? | PreBuildSteps = null, | ||
| Dictionary< UnrealPlatform, List< string > >? | PostBuildSteps = null, | ||
| List< PluginReferenceDescriptor >? | Plugins = null, | ||
| List< string >? | DisallowedPlugins = null ) |
In-memory representation of a .uplugin file.
| FileVersion | Descriptor version number |
| Version | Version number for the plugin. The version number must increase with every version of the plugin, so that the system can determine whether one version of a plugin is newer than another, or to enforce other requirements. This version number is not displayed in front-facing UI. Use the VersionName for that. |
| VersionName | Name of the version for this plugin. This is the front-facing part of the version number. It doesn't need to match the version number numerically, but should be updated when the version number is increased accordingly. |
| FriendlyName | Friendly name of the plugin |
| Description | Description of the plugin |
| Category | The name of the category this plugin |
| CreatedBy | The company or individual who created this plugin. This is an optional field that may be displayed in the user interface. |
| CreatedByURL | Hyperlink URL string for the company or individual who created this plugin. This is optional. |
| DocsURL | Documentation URL string. |
| MarketplaceURL | Marketplace URL for this plugin. This URL will be embedded into projects that enable this plugin, so we can redirect to the marketplace if a user doesn't have it installed. |
| SupportURL | Support URL/email for this plugin. |
| EngineVersion | Sets the version of the engine that this plugin is compatible with. |
| IsPluginExtension | 4 If true, this plugin from a platform extension extending another plugin */ |
| SupportedTargetPlatforms | List of platforms supported by this plugin. This list will be copied to any plugin reference from a project file, to allow filtering entire plugins from staged builds. |
| SupportedPrograms | List of programs supported by this plugin. |
| Modules | List of all modules associated with this plugin |
| LocalizationTargets | List of all localization targets associated with this plugin |
| EnabledByDefault | Whether this plugin should be enabled by default for all projects |
| CanContainContent | Can this plugin contain content? |
| CanContainVerse | Can this plugin contain Verse code (either in content directory or in any of its modules)? |
| IsBetaVersion | Marks the plugin as beta in the UI |
| IsExperimentalVersion | Marks the plugin as experimental in the UI |
| Installed | Set for plugins which are installed |
| RequiresBuildPlatform | For plugins that are under a platform folder (eg. /IOS/), determines whether compiling the plugin requires the build platform and/or SDK to be available |
| IsSealed | When true, prevents other plugins from depending on this plugin |
| NoCode | When true, this plugin should not contain any code or modules. |
| ExplicitlyLoaded | When true, this plugin's modules will not be loaded automatically nor will it's content be mounted automatically. It will load/mount when explicitly requested and LoadingPhases will be ignored |
| HasExplicitPlatforms | When true, an empty SupportedTargetPlatforms is interpeted as 'no platforms' with the expectation that explict platforms will be added in plugin platform extensions |
| PreBuildSteps | Set of pre-build steps to execute, keyed by host platform name. |
| PostBuildSteps | Set of post-build steps to execute, keyed by host platform name. |
| Plugins | Additional plugins that this plugin depends on |
| DisallowedPlugins | Plugins that this plugin should never depend on |
| record class Nuke.Unreal.Plugins.PluginDistributionOptions | ( | RelativePath? | OutputSubfolder = null, |
| AbsolutePath? | OutputOverride = null, | ||
| bool | GenerateFilterPluginIni = true, | ||
| bool | UPluginAssociateEngineVersion = true, | ||
| bool | UPluginIsInstalled = true, | ||
| Func< PluginDescriptor, PluginDescriptor >? | UPluginConfig = null ) |
Options for creating a distributable version of this plugin, usually for making it independent of Nuke.
| OutputSubfolder | Relative path to the output folder indicated by UnrealBuild.GetOutput(). Default is Plugins/{Name}/Distribution |
| OutputOverride | If set, this will disregard both UnrealBuild.GetOutput() and OutputSubfolder, and use this as the output of plugin distribution tasks |
| GenerateFilterPluginIni | Generate a FilterPlugin.ini in the plugin's Config folder, so Unreal tools will not ignore extra files handled with Nuke. |
| UPluginAssociateEngineVersion | When set to true, distributing sources of plugins will write engine version to UPlugin file. |
| UPluginIsInstalled | Mark plugin as Installed when distributing. Default is true |
| UPluginConfig | Modify plugin descriptor for the distributed plugin after all other configuration is done. |
| record class Nuke.Unreal.Plugins.PluginReferenceDescriptor | ( | string? | Name = null, |
| bool? | Enabled = null, | ||
| bool? | Optional = null, | ||
| string? | Description = null, | ||
| string? | MarketplaceURL = null, | ||
| List< string >? | PlatformAllowList = null, | ||
| List< string >? | PlatformDenyList = null, | ||
| List< UnrealConfig >? | TargetConfigurationAllowList = null, | ||
| List< UnrealConfig >? | TargetConfigurationDenyList = null, | ||
| List< UnrealTargetType >? | TargetAllowList = null, | ||
| List< UnrealTargetType >? | TargetDenyList = null, | ||
| List< string >? | SupportedTargetPlatforms = null, | ||
| bool? | HasExplicitPlatforms = null, | ||
| int? | RequestedVersion = null ) |
Representation of a reference to a plugin from a project file.
| Name | Name of the plugin |
| Enabled | Whether it should be enabled by default |
| Optional | Whether this plugin is optional, and the game should silently ignore it not being present |
| Description | Description of the plugin for users that do not have it installed. |
| MarketplaceURL | URL for this plugin on the marketplace, if the user doesn't have it installed. |
| PlatformAllowList | If enabled, list of platforms for which the plugin should be enabled (or all platforms if blank). |
| PlatformDenyList | If enabled, list of platforms for which the plugin should be disabled. |
| TargetConfigurationAllowList | If enabled, list of target configurations for which the plugin should be enabled (or all target configurations if blank). |
| TargetConfigurationDenyList | If enabled, list of target configurations for which the plugin should be disabled. |
| TargetAllowList | If enabled, list of targets for which the plugin should be enabled (or all targets if blank). |
| TargetDenyList | If enabled, list of targets for which the plugin should be disabled. |
| SupportedTargetPlatforms | The list of supported platforms for this plugin. This field is copied from the plugin descriptor, and supplements the user's allowed/denied platforms. |
| HasExplicitPlatforms | When true, empty SupportedTargetPlatforms and PlatformAllowList are interpreted as 'no platforms' with the expectation that explicit platforms will be added in plugin platform extensions |
| RequestedVersion | When set, specifies a specific version of the plugin that this references. |