Promote a Build to Steam on Windows
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)
- In Hub, navigate to the channel that contains the track you want to promote.
- Click the Tracks tab.
- On the track card, click the ⋯ context menu.
- Open the Build submenu.
- Select Promote to Steam.
Hub pre-fills the head build of that track in the promotion form automatically.
Option B — From the Versions menu
- In Hub, navigate to your game and click Versions in the left menu.
- Click a version row to expand its build cards.
- On the specific build card you want to promote, click the ⋯ context menu.
- 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
- In Hub, navigate to your game and click Promotions in the left menu.
- Click Promote to Steam in the top-right area of the Promotions menu.
- 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:
| Prerequisite | Where to fix it |
|---|---|
| SteamCMD path not set or invalid | Hub Settings → Integrations → SteamCMD |
| Build not downloaded to local machine | Download the build from the track or build card |
| Steam credentials not configured | ADT Web → Namespace Settings → Steam Integration (studio admin) |
| App ID or depot not configured | ADT Web → Game Settings → Steam (studio admin) |
| Branch mapping not configured for this track | ADT 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:
| Field | Behavior |
|---|---|
| Build | Pre-filled from the entry point context (read-only for Options A and B; selectable for Option C) |
| App ID | Read-only — from Game Settings |
| Depot | Read-only (locked icon) — from Game Settings; to change, update Game Settings |
| Steam Branch | Editable 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:
| Field | Default | Can you edit? |
|---|---|---|
| Build description | Pre-filled from the game's description template | Yes |
| Internal notes | Empty | Yes — stored in ADT audit log only, never sent to Steam |
| File exclusions | Pre-filled from Game Settings defaults (for example, *.pdb, *.log, .DS_Store) | Yes — editing here does not change the saved Game Settings defaults |
| Build size | Shown 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:
| Status | What it means | Next 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 drawer | Fix 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:
- In the ADT Promotions menu, confirm the promotion row shows a Succeeded (green) status.
- 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.
- 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
- Set Up Steam Integration in ADT — Review or update credentials and game settings
- Promote Build to Steam — Feature Overview — Conceptual overview of how the feature works