I’m setting up build automation for our projects and I’ve hit a gap: once a build finishes, I still have to manually download it and upload it to each store (Steamworks, Google Play). I’d like to fully automate this last step so a successful build gets pushed straight to the target platform.
From what I’ve found so far, Unity doesn’t seem to have a first-party solution for this — Cloud Build / Build Automation stops at producing the build artifact, and there’s no built-in Steamworks or Play Store publishing step.
Is Unity working on (or does it already have, and I’ve just missed it) any native distribution/publishing integration for Steamworks or Play Store?
Unfortunately, there is currently no native, first-party integration in Unity Build Automation (UBA) for publishing directly to storefronts such as Steamworks or Google Play.
As you noted, the built-in UBA pipeline stops at producing the final build artifact (such as the .aab or apk). However, you do not need to settle for manual downloads and uploads. You can fully automate that last step by using custom post-build scripts.
To achieve what you are looking for, you can configure your UBA pipeline to trigger a custom post-build bash or shell script upon a successful build. That script can locate the generated build artifacts and programmatically push them to your target platforms using their official APIs and CLI tools:
- Google Play Store: Your post-build script can authenticate and push the .aab or .apk using the Google Play Developer Publishing API or fastlane.
- Steamworks: You can write a script that utilizes SteamCMD or the Steamworks SDK tools to upload the build artifact directly to your Steam pipeline.
Here are the documentation links and resources you can use to set up your post-build scripts and access your build artifacts in UBA:
-
How can I access my build artifact in UBA in a post-build script?: This help article provides a practical starting point, including sample bash scripts for locating your generated .apk, .aab, or other build files using the UNITY_PLAYER_PATH environment variable.
-
Available Environment Variables: This reference entry details all the variables UBA exposes during a build. You’ll use those (such as $UNITY_PLAYER_PATH or $BUILD_NUMBER) to point your distribution commands directly at the correct build artifacts.
Once your script points to the exact path provided by UBA, you can chain it directly to SteamCMD or the Google Play Publishing API inside the same bash file to push the build automatically.
Thank you for your response 