Skip to content

How to Setup

James edited this page Sep 28, 2025 · 5 revisions

1. Setup credentials for services you want to use: 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
  • 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

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)
  • c. 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 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 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
    • 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

3. 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