Unreal Cloud Docs

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.

  1. Create a new Steam account, with Steam Guard by email.
  2. In Steamworks, add it to your organization under Users & Permissions.
  3. 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 . -Force
mkdir -p ~/steamcmd-temp && cd ~/steamcmd-temp
curl -sSL https://steamcdn-a.akamaihd.net/client/installer/steamcmd_osx.tar.gz | tar -xz

steamcmd 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 -xz

steamcmd 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 +quit
HOME="$PWD/home" ./steamcmd.sh +login YOUR_BUILD_ACCOUNT +quit

HOME="$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 +quit

HOME="$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 config
open "home/Library/Application Support/Steam/config"
find "$PWD" -name config.vdf

In 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-temp
cd ~ && rm -rf ~/steamcmd-temp

Choose what to upload

Uploads are set per preset. In a Windows or Linux preset, turn on Deploy to Steam and fill in:

FieldWhat to enter
App IDYour game's App ID, from Steamworks.
Depot IDThe depot for this platform, for example your Windows depot.
Steam branchThe 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.

On this page