Steam
Connect a Steam build account so Unreal Cloud can upload your builds to Steam.
Connecting Steam lets Unreal Cloud upload your Windows and Linux builds to a beta branch of your game on Steam. Steam never lets an upload set the default branch live, so an upload can't reach your players by itself.
You never type your Steam password on Unreal Cloud. You log in once on your own computer, and Unreal Cloud keeps only the resulting login file, encrypted.
Beta
Steam uploads are new. If something doesn't work, tell us at support@unrealcloud.io.
Connecting Steam requires the admin role — see Members and roles.
Create a build account
Use a dedicated Steam account for builds, never a personal one.
- Create a new Steam account, with Steam Guard by email.
- In Steamworks, add it to your organization under Users & Permissions.
- Give it only these permissions for your app: Edit App Metadata and Publish App Changes To Steam.
Connect
You log in once with Valve's steamcmd on your own computer, then upload the login file it creates. Run each step in PowerShell on Windows, or in a terminal on macOS and Linux. Nothing is installed and you don't need admin rights.
Download steamcmd
This downloads steamcmd (about 3 MB) into a temporary folder.
New-Item -ItemType Directory -Force "$env:TEMP\steamcmd" | Out-Null; cd "$env:TEMP\steamcmd"
Invoke-WebRequest -UseBasicParsing https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip -OutFile steamcmd.zip
Expand-Archive steamcmd.zip -DestinationPath . -Forcemkdir -p ~/steamcmd-temp && cd ~/steamcmd-temp
curl -sSL https://steamcdn-a.akamaihd.net/client/installer/steamcmd_osx.tar.gz | tar -xzsteamcmd runs through Rosetta on Apple silicon Macs. If you've never used Rosetta, install it first with softwareupdate --install-rosetta.
mkdir -p ~/steamcmd-temp && cd ~/steamcmd-temp
curl -sSL https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar -xzsteamcmd needs 32-bit libraries. On Ubuntu and Debian, install them with sudo apt install lib32gcc-s1.
Log in
Replace YOUR_BUILD_ACCOUNT with the build account's name. steamcmd updates itself, then asks for the password and the Steam Guard code Steam emails you. They stay on your computer.
.\steamcmd.exe +login YOUR_BUILD_ACCOUNT +quitHOME="$PWD/home" ./steamcmd.sh +login YOUR_BUILD_ACCOUNT +quitHOME="$PWD/home" keeps steamcmd's files in the temporary folder, apart from the Steam app if you have it installed.
HOME="$PWD/home" ./steamcmd.sh +login YOUR_BUILD_ACCOUNT +quitHOME="$PWD/home" keeps steamcmd's files in the temporary folder, apart from the Steam app if you have it installed.
Upload the login file
Open the folder that holds config.vdf:
explorer configopen "home/Library/Application Support/Steam/config"find "$PWD" -name config.vdfIn the project's Settings tab, drop config.vdf into the Steam section, or click it to choose the file. It shows Connected as your account, with the date to reconnect by.
Delete the temporary folder
config.vdf holds your Steam login, so don't keep a copy.
cd ~; Remove-Item -Recurse -Force "$env:TEMP\steamcmd"cd ~ && rm -rf ~/steamcmd-tempcd ~ && rm -rf ~/steamcmd-tempChoose what to upload
Uploads are set per preset. In a Windows or Linux preset, turn on Deploy to Steam and fill in:
| Field | What to enter |
|---|---|
| App ID | Your game's App ID, from Steamworks. |
| Depot ID | The depot for this platform, for example your Windows depot. |
| Steam branch | The beta branch builds upload to. It defaults to ci and can't be default. |
Create the branch in Steamworks first, under your app's SteamPipe → Builds page. To ship a build to players, set it live on the default branch from that page.
What happens on each build
When a build passes, Unreal Cloud uploads the packaged game to the depot and points the branch at the new Steam build. The upload runs as part of the build, so its time counts as build time.
- The build page shows the branch and the Steam build number. Click it to open your app's builds on Steamworks.
- If the upload fails, the build page shows Steam upload failed. Hover over it to see why. The build itself still passes, and its files are still available to download.
- Slack, Discord and webhook notifications for the build include the upload result.
Reconnect
A Steam login lasts about 6 months. It ends sooner if the account's password or Steam Guard settings change, or if someone uses Deauthorize all other devices on it.
The Steam section shows the date to reconnect by. Studio admins also get an email 14 days before it.
If Steam rejects the login during an upload, admins get an email and the project shows a Reconnect Steam banner. Builds skip the upload until you reconnect, so Steam isn't sent a login it already turned down.
To reconnect, follow the Connect steps again. The new file replaces the old one.
Disconnect
Click Disconnect to delete the saved login. Builds stop uploading to Steam.