Skip to main content

Building an Unreal Engine plugin

UET can build Unreal Engine plugins using just the .uplugin file. For a more complete list of options, use uet build --help.

Building a plugin

info

You must always specify an engine version when building a plugin, as UET can not infer an engine version from a .uplugin file.

... using an installed engine version

You can build a plugin using a specific version of Unreal Engine installed through the Epic Games Launcher with:

uet build -e 5.3

... using an engine from a specific path

You can build a plugin using an Unreal Engine located a path on your computer with:

uet build -e C:\Work\UE5

This can be a path to either a source engine (e.g. cloned from GitHub or Perforce), or an installed engine build that has been copied to that directory.

... using an engine from a UEFS package tag

You can build a plugin using Unreal Engine stored in a UEFS package with:

uet build -e uefs:container.registry.com/package/unreal-engine:tag

Advanced options for building plugins

uet build provides additional options to configure the way that a plugin is built. These options can be used in addition to the engine specification above.

... for a plugin that is not located in the current directory

If the plugin is not located in the current working directory, you can specify the path to the folder that contains the .uplugin file with:

uet build -p C:\Path\That\Contains\Plugin

... for the Shipping configuration

By default uet build will build the plugin in Development configuration. You can build for Shipping instead with:

uet build --shipping

... for additional platforms

By default uet build will build the plugin for the host platform. You can build for additional platforms by specifying --platform one or more times, for example:

uet build --platform Android --platform Linux

... for distribution on the Marketplace

By default the plugin will not be packaged for distribution. You can package the plugin for Marketplace distribution with:

uet build --plugin-package marketplace

... for distribution outside the Marketplace

You can package the plugin for distribution outside of the Marketplace (i.e. including the binaries in the resulting package) with:

uet build --plugin-package redistributable

... with a specific plugin version specified

By default uet build will infer the plugin version for packaging based on the current time. You can override the version that is set in the resulting package with:

uet build --plugin-version-name MyVersionNumber --plugin-version-number 10000

These options only have an effect when used with --plugin-package. Refer to uet build --help on how the plugin versions are inferred under various scenarios.

... with strict includes enabled

To ensure all #include declarations are correct in your plugin, you can turn on strict includes. This will significantly increase the build time:

uet build --strict-includes