Skip to content

How to Setup

James edited this page Aug 15, 2026 · 5 revisions

1. Setup Preferences: Edit->Preferences->Build Uploader

Screenshot-2025-01-03-213527

General

  • Change 'Cached Builds' to a folder on your desktop. (Use a folder with the shortest path: eg: C:\UnityBuildUploader)

Steamworks (Optional)

  • Turn on Enabled
  • Install SteamSDK
    • Download SteamSDK and extract it to your computer
    • Enter the path to the SteamSDK folder
      • SteamSDKPath should turn green if what you gave it is correct
    • Enter your Steamworks username
    • Press CMD
      • Login
        • Enter login "your_steam_username" and press enter
        • Enter your password and press enter
        • If you have 2FA enabled you'll need to approve the login on your phone or email
        • If you have Steam Guard enabled you'll need to enter the code sent to your email or phone
        • After logging in enter quit to exit steamcmd

Itch.io (Optional)

  • Turn on Enabled
  • Install Butler
    • Download Butler and extract it to your computer
    • Enter the path to the Butler folder
      • ButerPath should turn green if what you gave it is correct
    • Press CMD
      • Enter butler.exe login and follow instructions to log into your itch.io account

Epic Games (Optional)

  • Turn on Enabled
  • Download The Build Tool
    • Go to the developer portal
    • Choose your game product (eg: MyGame)
    • go Epic Account Services->Artifacts and Binaries->Edit->Download build patch tool
  • Install The Build Tool
    • Extract the BuildPatchTool somewhere on your computer
    • Enter the path to the BuildPatchTool folder
      • BuildPath Path should turn green if what you gave it is correct

Github (Optional)

Unity Cloud Build (Optional)

  • Turn on Enabled
  • Enter your Organization
  • Enter your Project ID
    • You can find this in the URL of your Unity Cloud Build page eg: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  • Enter the DevOps API Key
    • This is found in DevOps->Settings->API Key

Other Services

The sections above cover the services documented on this page. Every other service has its own setup page - you only need the ones you'll actually use.

Service What it gives you Setup
Slack Post/edit a message in a Slack channel How to Setup Slack
Discord Post a message in a Discord channel How to Setup Discord
Git Tag the commit a build was made from How to Setup Git
Google Upload to Google Drive or Google Play, post to Google Chat How to Setup Google
Dropbox Upload to a Dropbox folder, with an optional share link How to Setup Dropbox
Email Send an email when a build uploads How to Setup Email
Apple Upload to TestFlight and add builds to beta groups How to Setup Apple
Xbox Upload to Microsoft Partner Center How to Setup Xbox
Nintendo Upload to the Nintendo Developer Center How to Setup Nintendo
PlayStation Upload to PlayStation Partners How to Setup PlayStation

!NOTE: Google, Dropbox, Email, Apple, Xbox, Nintendo and PlayStation are currently marked Experimental. They work, but expect rough edges.

2. Setup Project Settings: Edit->ProjectSettings->Build Uploader

Screenshot-2025-01-03-212949

Build Configs (Optional if you won't be making build using this tool)

  • Change the scenes in both the build configs to ones you want in builds (Add/remove/change the buidl configs as you need)

Steamworks (Optional)

  • Press New to create a new App (Or game)
  • Enter the name of your App
  • Enter the AppID of your game. (Found in the URL of your games store page. eg: 1141030)
  • Press + to create a new depot for your game
    • Enter a name for the depot
    • Enter the depot ID (Found in Steamworks settings or steamdb.info eg: 1141031)
  • Add any branches that you need (Note: none is used to not upload to any branch. This is useful for testing)
    • NOTE: You can NOT upload to the default branch. SteamSDK does not allow this.

Itch.io (Optional)

  • Press New to create a new user
  • Change the name to your Itch.io username (Found in the URL of your Itch.io page eg: jamesgamesnz)
  • Press + to create a new game
  • Enter the name of your game exactly as it appears on Itch.io (Found in the URL of your games store page. eg: super-platformer)

Epic Games (Optional)

  • Press New to create a new Organization
  • Change the name to your Epic Games organization (Can be anything: eg: MyCompany)
  • Enter the Org ID (When on the developer dashboard go to your organization settings (Top right->Account): eg: a-abcdefghi12abc12abcdef1abcdefg)
  • Press + to create a new product
    • Enter the name of your game exactly. Can be anything. eg: My Game
    • Enter the Product ID. This can be found in the dashboard Product Settings->SDK Download & Credentials. eg: 1ab1abcd1a1234abc12345a1a1a12345
    • Enter the Client ID. This can be found in the dashboard Product Settings->BPT credentials. eg: abcd1234abcd1abcdefghijklmnopqr
    • Enter the Secret:
      • Client Secret: This can be found in the dashboard Product Settings->BPT credentials->BPT Client Secret. eg: abcd1a1abcdefghijk/a1abcdefghijklmnopqrstuv
      • Env Var: Enter the name of the environment variable that the SDK will use to pull the secret
    • Press + `to create a new Artifact
      • Enter the name of the Artifact (Can be anything but BaseGame is the default)
      • Enter the ID of the Artifact (Can be found in url of EpicGamesStore->Artifacts and Binarys->Edit->MyGame. eg: 1a123ab12345678a12345678a1a123ab)

3. Setup Upload Config

  • Go to Window->Build Uploader->Open Window
  • Press New Upload Config to create an Upload Config
  • Choose where your build will come from (AKA: Source)
    • Choose Build Config if you want to create a new build to upload
    • Choose BuildProfile if you want to build using one of Unity's own Build Profile assets instead (Unity 6000.0+)
    • Choose Folder if you want to upload a specific folder
    • Choose File if you want to upload a single file
    • Choose UnityCloud if you want to Upload a build from Unity Cloud
    • Choose URL if you want to download something from a URL
    • Choose LastBuild if you want to Upload the last build that was made usign the Build Uploader (Not really used)
  • Optional: Choose what you want modified from your build (AKA: Modifiers)
    • Expand the Upload Config with the drop down to see advanced options
    • You can add/remove/modify files/folders in the build before uploading
      • Choose Compress to turn a path into a compressed file (eg: .zip, .rar, .7z)
      • Choose Decompress to turn a compressed file into a folder
      • Choose Exclude Files to use regex to remove files from the build
      • Choose Exclude Folder to use regex to remove folders from the build
      • Choose Steam DRM to prevent people from playing your game unless they have steam and own it
  • Choose where your build will go (AKA: Destination)
    • Choose Local Path if you want to save the build to a specific folder on your computer
    • Choose Steamworks if you want to upload to Steam
      • Choose which Game you want to upload it to
      • Choose Depot
      • Choose Branch
    • Choose Itchio to upload your build to Itch.io
      • Choose which User you want to upload it to
      • Choose Game
      • Choose Channel(s) (eg: windows, mac, linux)
      • Choose EpicGames to upload your build to the Epic Games Store
        • Choose which Organization you want to upload it to
        • Choose which Product the build belongs to
        • Choose which artifact to attach your build to
      • Choose GithubNewRelease to upload to a github repository as a new release
        • Expand the Upload Config with the drop down to see advanced options
        • Choose Owner (Who owns the repository. eg: JamesVeug)
        • Choose Repository (The name of the repository. eg: UnitySteamBuildUploader)
        • Choose Release Name (The name of the release. eg: v1.0.0 Final)
        • Choose Tag (What tag will appear attached to the release eg: v1.0.0)
        • Choose Target Commitish (What branch/tag/commit the release should be based on eg: main)
        • Choose Is Draft (If true the release will be marked as a draft and not published)
        • Choose Is Prerelease (If true the release will be marked as a prerelease)
        • Choose Zip contents (If true the contents will be zipped before uploading)
      • Choose Nowhere to test retrieving your Build and modifying it without uploading it anywhere
        • You can view where the modified build is in the Cache folder go going to Edit->Preferences->Build Uploader
      • Choose Google Drive to upload to a folder on Google Drive - see How to Setup Google
      • Choose Google Play to publish an Android build to Google Play - see How to Setup Google
      • Choose Dropbox to upload to a folder on Dropbox - see How to Setup Dropbox
      • Choose Apple TestFlight to upload an .ipa to App Store Connect - see How to Setup Apple
      • Choose Xbox to upload to Microsoft Partner Center - see How to Setup Xbox
      • Choose Nintendo to upload to the Nintendo Developer Center - see How to Setup Nintendo
      • Choose PlayStation to upload to PlayStation Partners - see How to Setup PlayStation
  • Optional: Choose what happens around the upload (AKA: Actions)
    • Expand the Upload Config with the drop down to see advanced options
    • Actions don't change the build - they do something alongside the upload, like posting a message or tagging your commit
    • Add an action, then set the two dropdowns that control when it runs:
      • Triggers - what fires it. OnTaskStarted, AfterEachStepCompletes, OnTaskFinished or Never
      • When To Execute - the condition it must meet. Always, IfSuccessful, IfFailed or Never
      • eg: OnTaskFinished + IfFailed only runs when a build breaks
    • Choose Slack Send Message / Slack Update Message to post (and later edit) a message in Slack - see How to Setup Slack
    • Choose Discord Message Channel to post a message in Discord - see How to Setup Discord
    • Choose Google Chat Send Message to post a message in a Google Chat space - see How to Setup Google
    • Choose Email Send Mail to send an email - see How to Setup Email
    • Choose Git Tag Commit to tag the commit this build was made from - see How to Setup Git
    • Choose Apple Add To TestFlight Group to add an uploaded build to your TestFlight beta groups - see How to Setup Apple
    • Choose Nintendo Notify to notify your team about a Nintendo upload - see How to Setup Nintendo
  • By default Project Settings will auto save to <YourProjectPath>/BuildUploaderConfigs.json
    • If using versioning control this folder can be committed to share configs with your team

4. Upload

Git-Sync-Tab-Pic

  • Go to Window->Build Uploader->Open Window
  • Enable each of the Build Configs you want to upload (Checkbox at the beginning)
  • Enter description of the build (eg: v1.0.1 - Hotfix to fix jumping bug)
  • Press Upload all
    • If this button is greyed out can can not be pressed then there will be errors in the giant button. Fix them and repeat.

!NOTE: If you have no Upload Configs setup yet see #2c

  • Setup
    • Using an existing UploadProfile:
      • Use UploadProfile.From to load a profile from a file path or using a GUID
      • Create a new UploadTask using the loaded Profile new UploadTask(UploadProfile)
    • Creating a new UploadConfig:
      • Create a new UploadTask using new UploadTask()
      • Create new UploadConfig's using new UploadConfig()
        • Add new sources
        • Add new modifiers
        • Add new destinations
      • Add the UploadConfig's to the UploadTask using UploadTask.AddConfig()
  • Start
    • Set the build description using UploadTask.SetDescription()
    • Call UploadTask.Start() to start the upload or UploadTask.StartAsync() to start the upload asynchronously
    • Wait for the UploadTask to complete using StartAsync or listen using UploadTask.OnComplete += ...
    • Check if the upload was successful using UploadTask.Report.Successful
      • Get logs from the report using UploadTask.Report.GetReport()
      • Get errors using UploadTask.Report.GetFailReasons()

Unity Cloud (Optional)

Git-Unity-Cloud-Pic

Utilize Unity Cloud to automate make builds of your project.

  • Tracks progress of current builds
  • Start a new build
  • Download builds

Clone this wiki locally