Skip to main content

Promote a Build to Steam on Windows

Last updated on July 1, 2026

Applies to: ADT Hub on Windows

Overview

Promote a downloaded build from ADT Hub to a Steam pre-release branch on Windows, using the "Promote to Steam" action. By the end of this guide, the build will be registered on Steam and the promotion record will be visible to your whole team in the ADT Promotions menu.


Prerequisites

Before triggering a promotion, verify all of the following:

  • ADT Hub is installed and running on your Windows machine
  • SteamCMD is installed on your Windows machine and the path is configured in ADT Hub Settings → Integrations → SteamCMD (green Ready indicator shown) — see Set Up Steam Integration in ADT if this is not done yet
  • The target build is downloaded to your local machine via ADT Hub — Hub promotes from your local disk, not from ADT's cloud storage. If the build has not been downloaded, download it from Hub before proceeding.
  • Steam bot credentials are connected in ADT Web → Namespace Settings → Steam Integration (green Connected status shown) — a studio admin must complete this setup
  • Game Settings are configured in ADT Web → Game Settings → Steam — App ID, depot mapping, and a branch mapping for the track you want to promote must all be saved

If you are unsure whether setup is complete, see Set Up Steam Integration in ADT.


Steps

Step 1: Download the target build (if not already done)

Open ADT Hub and navigate to the channel and track containing the build you want to promote. If the build is not already downloaded to your machine, click Download on the track card or build card. Wait for the download to complete before proceeding.

Hub checks for a local copy as part of the promotion prerequisites. If the build is not on disk, Hub will block the promotion and surface a download action.

Step 2: Choose your entry point

There are three places in Hub where you can start a promotion. Use whichever fits your current workflow:

Option A — From the Tracks tab (fastest path)

  1. In Hub, navigate to the channel that contains the track you want to promote.
  2. Click the Tracks tab.
  3. On the track card, click the context menu.
  4. Open the Build submenu.
  5. Select Promote to Steam.

Hub pre-fills the head build of that track in the promotion form automatically.

Option B — From the Versions menu

  1. In Hub, navigate to your game and click Versions in the left menu.
  2. Click a version row to expand its build cards.
  3. On the specific build card you want to promote, click the context menu.
  4. Select Promote to Steam.

Hub pre-fills both the version and the specific build from the build card context.

Option C — From the Promotions menu

  1. In Hub, navigate to your game and click Promotions in the left menu.
  2. Click Promote to Steam in the top-right area of the Promotions menu.
  3. On Step 1 of the form, select a version from the dropdown, then select the specific build.

Use this option for one-off promotions or when you want to promote a build that is not directly tied to a track.

Step 3: Check the prerequisites checklist

Before opening the promotion form, Hub validates all prerequisites. If anything is missing, Hub shows a checklist identifying exactly what is missing, with links to resolve each item. The form does not open until all prerequisites are met.

Common prerequisites Hub checks:

PrerequisiteWhere to fix it
SteamCMD path not set or invalidHub Settings → Integrations → SteamCMD
Build not downloaded to local machineDownload the build from the track or build card
Steam credentials not configuredADT Web → Namespace Settings → Steam Integration (studio admin)
App ID or depot not configuredADT Web → Game Settings → Steam (studio admin)
Branch mapping not configured for this trackADT Web → Game Settings → Steam (studio admin)

If the track you selected has no depot or branch mapping configured, Hub opens a "not configured" modal listing what is missing and linking to Game Settings → Steam. No promotion can be initiated until the missing settings are added.

Step 4: Respond to the stale build warning (if shown)

If the build on your local machine is not the latest build in the track, Hub shows a warning dialog before opening the form:

"Build #4818 is on your machine, but #4821 is the latest in this track. Promote #4818 anyway, or download #4821 first?"

  • To promote the older build (for example, for an intentional rollback), click Promote #4818.
  • To download the latest build first, click Cancel and download the latest build from Hub, then return to this step.

Step 5: Complete Step 1 — Build and Target

The promotion confirmation form opens. Review the fields on Step 1:

FieldBehavior
BuildPre-filled from the entry point context (read-only for Options A and B; selectable for Option C)
App IDRead-only — from Game Settings
DepotRead-only (locked icon) — from Game Settings; to change, update Game Settings
Steam BranchEditable dropdown — defaults to the track's mapped branch; you may change this per-promotion

To target a different Steam branch for this specific promotion, click the Steam Branch dropdown and select the branch you want. Only the branches configured in your Game Settings are shown.

Click Next to proceed to Step 2.

Step 6: Complete Step 2 — Details

Review and edit the optional fields:

FieldDefaultCan you edit?
Build descriptionPre-filled from the game's description templateYes
Internal notesEmptyYes — stored in ADT audit log only, never sent to Steam
File exclusionsPre-filled from Game Settings defaults (for example, *.pdb, *.log, .DS_Store)Yes — editing here does not change the saved Game Settings defaults
Build sizeShown as approximate total size of the build artifact in ADT (for example, ~6.3 GB)No — informational only

The build size field helps you anticipate how long the upload will take before you commit to promoting.

Click Next to proceed to Step 3.

Step 7: Complete Step 3 — Review and Confirm

Step 3 shows a summary of all fields from Steps 1 and 2. Review them before submitting.

If you need to change anything, click Back to return to the previous step. All previously entered values are preserved.

When everything looks correct, click Promote to Steam. The form transitions to a "Promotion queued" success state showing the build name. Click View in Promotions menu to go to the Promotions menu and monitor progress.

Step 8: Monitor the promotion

In the Promotions menu, find the row for your promotion. While the promotion is In Progress:

  • The row shows a blue status indicator and an inline progress bar.
  • Click the row to expand an inline detail drawer showing a live-updating log and timeline.
  • The log streams SteamCMD output in real time — you can watch each upload phase as it runs.

The upload continues as long as ADT Hub is running on your machine. If you minimize or background Hub, the upload continues. If Hub is force-closed, the promotion is marked Failed or Interrupted on next launch with a retry option.

Step 9: Confirm the result

When the upload completes, Hub parses the SteamCMD log for the Steam BuildID.

The promotion row updates to one of these final states:

StatusWhat it meansNext action
Succeeded (green)SteamCMD completed successfully — Steam BuildID shown in the drawer (or "—" if it could not be parsed from the log)No action required; if BuildID shows "—", verify it in the Steamworks partner portal
Failed (red)Upload failed — reason shown in plain language in the drawerFix the issue (see Troubleshooting below), then click Retry promotion in the drawer

You also receive an in-app push notification when the status changes to Succeeded or Failed.


Validation

To verify a promotion succeeded:

  1. In the ADT Promotions menu, confirm the promotion row shows a Succeeded (green) status.
  2. Click the row to expand the detail drawer. Check the Steam BuildID field — it shows a numeric ID if the BuildID was parsed from the log, or "—" if it was not.
  3. In the Steamworks partner portal, navigate to your app's Builds section and confirm the new BuildID appears in the list with the target branch name.

Troubleshooting

"Promote to Steam" is not visible in the Build submenu on a track card Either the track's platform is not eligible (consoles, mobile, and Windows Server tracks do not show "Promote to Steam" at all), or the prerequisites checklist has unresolved items. Open the ⋯ menu → Build submenu to confirm the item is absent, then check the prerequisites checklist by attempting a promotion from the Promotions menu instead.

Hub shows a prerequisites checklist before opening the form One or more prerequisites are not met. The checklist identifies each missing item and links to where it can be resolved. Common causes: SteamCMD path not set in Hub Settings, the build not downloaded locally, or Game Settings not yet configured by a studio admin.

Hub prompts for a Steam Guard code before the upload starts This is expected. Open the Steam Mobile App (or check the bot account's Steam Guard email) and enter the current 6-digit code. The code is used once and never stored. If you entered a code that was rejected, click Retry in the same drawer and enter a fresh code — codes expire within 30 seconds, so use the most current one shown.

Promotion fails with "Steam credentials are invalid" The bot account username or password stored in ADT is incorrect or the account password has changed. A studio admin must update the credentials in ADT Web → Namespace Settings → Steam Integration. Once updated, click Retry promotion in the failed promotion's drawer. If the bot account uses the Steam Mobile Authenticator, the failure may be caused by a region mismatch — see Credential validation fails with a region or location error in the setup guide for the resolution steps.

Promotion fails with "The upload was interrupted" ADT Hub was closed or the machine lost network connectivity during the upload. Click Retry promotion in the drawer to restart the upload from the beginning.

Promotion fails with "Account does not have permissions for this app" The Steam bot account's Steamworks permissions have changed, or the App ID in Game Settings does not match an app the bot account can access. A studio admin must verify the bot account's permissions in the Steamworks partner portal.

Promotion fails with a Steam rate-limit error Steam's content servers have temporarily rate-limited uploads from this account. The error message in the drawer includes a suggested wait time. Wait the suggested period, then click Retry promotion.

Promotion is stuck "In Progress" for more than 60 minutes on a small build Check the live log in the drawer for any lines showing an authentication prompt or a waiting state. If Hub lost its connection to SteamCMD, close Hub (marking the promotion Failed) and retry. If the issue recurs, contact your studio admin to verify credential health in Namespace Settings.

Promotion shows "Succeeded" but the Steam BuildID field shows "—" SteamCMD completed successfully but the BuildID could not be parsed from the log output. The build was uploaded — navigate to your app's Builds section in the Steamworks partner portal to find the BuildID and confirm it is registered on the target branch.


Next Steps