Skip to content
Guidebook

Publish tokens and CI

Tokens for the plugin and for headless publishing from CI.

A publish token lets the Unreal plugin, or a build machine, upload to your studio without your password.

Create a token#

  1. In the dashboard, open Settings, then Publish tokens.
  2. Under Create a token, give it a name that says where it is used, such as "Build machine".
  3. Choose its Access: Upload drafts only (uploads appear as drafts that someone publishes in the dashboard) or Upload and publish (only people who can publish can create these).
  4. Choose Create token and copy it. It is shown once and stored only in a form Deltaship cannot read back.

You need a confirmed email to create tokens.

Where the plugin keeps it#

The plugin saves the token in your own user settings folder, never in the project or its config files, so it cannot be committed by accident. It is not encrypted on disk: anyone who can use your computer account can read it.

Revoke a token#

On Publish tokens, revoke any token you no longer use or think has leaked. It stops working at once. A token also stops working when the person who created it leaves the studio or loses the role that allowed it.

Publishing from CI#

For GitHub Actions and a standalone command-line publisher that needs no Unreal, see Publishing from CI. The rest of this section is the editor's own command line.

Publishing from a build machine works on every plan, with the same tokens and limits as the editor. It uses the editor's command-line mode, so the build machine needs Unreal Engine and your project:

UnrealEditor-Cmd MyGame.uproject -run=UDTKPublish -Build=/path/to/WindowsBuild -Version=1.2.3 -Org=org_... -Game=gam_... -Channel=live -Token=env:UDTK_PUBLISH_TOKEN
  • -Org and -Game are the Studio id and Game id from the dashboard's Plugin setup card. Without them, the values in the project settings are used.
  • The token is read only from an environment variable, UDTK_PUBLISH_TOKEN unless you name another with -Token=env:NAME. A token typed on the command line is refused, because command lines end up in logs.
  • -Server sets the server address, when Plugin setup shows one other than the default.
  • Optional: -Platform (default win64), -Exe (the launch file, when it cannot be found), -UsePrepared (skip preparing when the build is already prepared), -DryRun (prepare and check without uploading).

The command prepares the build, uploads only what is new, and creates a draft release. It prints one progress line per step and exits with a code that says what happened:

Exit codeMeaning
0Done
2Wrong arguments or settings
3The build could not be prepared
4The token is missing or was not accepted
5A plan limit, such as storage or a channel your plan does not include
6The server refused this release, for example a version that already exists
7The server could not be reached
8Part of the upload kept failing
9Stopped before the upload finished