From 5beb27deea8cc6cfdb88a9425c02ee30ad83df3a Mon Sep 17 00:00:00 2001 From: Steve Streeting Date: Wed, 14 Jun 2023 14:28:43 +0100 Subject: [PATCH] Docs for plugin package --- ReadMe.md | 1 + doc/PluginPackage.md | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 doc/PluginPackage.md diff --git a/ReadMe.md b/ReadMe.md index 4ac926d..887709a 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -16,6 +16,7 @@ These scripts support **UE4 and UE5** and will detect which one your project is * [Getting Latest for Artists](./doc/GetLatest.md): pulls from git and builds so C++ changes are automatically updated * [Synchronising BuiltData Files outside of Git](./doc/DataSync.md) * [Cleaning Up](./doc/Cleanup.md): Deleting unneeded Hot Reload DLLs etc +* [Packaging a Marketplace Plugin](./doc/PluginPackage.md) ## Prerequisites diff --git a/doc/PluginPackage.md b/doc/PluginPackage.md new file mode 100644 index 0000000..7138ccb --- /dev/null +++ b/doc/PluginPackage.md @@ -0,0 +1,36 @@ +# Packaging a Plugin for the Marketplace + +To distribute a plugin on the marketplace, you need to zip it up and make sure +you only include approved files. The `ue-plugin-package.ps1` script is here +to make that job easier. + +> Note: unless you use the `-keepversion`, the script will update your .uplugin +> file to record the new version number and potentially set Installed=true. +> Unfortunately the first time, this will probably mess with indents. + +```sh +Usage: + ue-plugin-package.ps1 [-src:sourcefolder] [-major|-minor|-patch|-hotfix] [options...] + + -src : Source folder (current folder if omitted), must contain pluginconfig.json + -major : Increment major version i.e. [x++].0.0.0 + -minor : Increment minor version i.e. x.[x++].0.0 + -patch : Increment patch version i.e. x.x.[x++].0 (default) + -hotfix : Increment hotfix version i.e. x.x.x.[x++] + -keepversion : Keep current version number, doesn't tag unless -forcetag + -forcetag : Move any existing version tag + -notag : Don't tag even if updating version + -test : Testing mode, separate builds, allow dirty working copy + -browse : After packaging, browse the output folder + -dryrun : Don't perform any actual actions, just report on what you would do + -help : Print this help +``` + +This script operates based on a `pluginconfig.json` file which must be present +in the root of your plugin, next to the .uplugin file. The options are: + +```json +{ + "OutputDir": "C:\\Users\\Steve\\MarketplaceBuilds", + "PluginFile": "OptionalPluginFilenameWillDetectInDirOtherwise.uplugin" +} \ No newline at end of file