Deploy to Stores
You can automate the deployment of your Unity projects to various platforms. This ensures that your builds are consistently deployed and available for testing or release.
Generally, deploy steps should happen after the build step of your build workflow. If you’re building for multiple platforms,
add an if condition to your upload step that checks for the platform, for example:
- name: Upload only Windows builds to Store
if: ${{ matrix.build-target == 'StandaloneWindows64' }} Deploy to Steam
Use the upload-steam action to upload your build to Steam.
Recommended steps:
- Build a Windows/Linux/macOS player in your build workflow.
- Package artifacts with a consistent folder structure (Steam depots require stable paths).
- Store Steam credentials as encrypted secrets in GitHub.
- Run the upload step only for the Steam build target.
Deploy to Google Play
Use a deploy step after building Android (AAB). Recommended setup:
- Ensure Android build outputs are AAB files.
- Sign your build with a release keystore.
- Store service account JSON in GitHub secrets.
- Upload only when
matrix.build-targetis Android.
Deploy to Apple Test Flight / App Store
Use the unity-xcode-builder action to build and upload to Apple Test Flight or App Store.
Recommended steps:
- Build the Xcode project from your Unity IL2CPP build.
- Provide App Store Connect credentials as secrets.
- Upload only for iOS/macOS build targets.
Deploy to Meta Quest
Use the upload-meta-quest-build action to upload your build to Meta Quest.
Deploy to itch.io
For itch.io, add a step to install the butler command line tool: buildalon/setup-butler.
Best practices
- Deploy from a protected branch or tagged release.
- Store all credentials in GitHub secrets.
- Separate build and deploy steps to make troubleshooting easier.
Related pages
Next Steps
- Triggers: Set up triggers to start workflows automatically.
- Build Unity: Set up automated builds for your Unity project.
- Buildalon Actions: Explore the actions available to use in your workflows.
- Unit Testing: Automate unit testing to ensure stability and quality.
- Deploy to Stores: Add deployment steps to distribute your app to users.
- Dependencies: Learn what to do if your project depends on other private packages or repositories.

