Skip to content

Repository files navigation

MAS Logo

Build Uploader

Unity Editor Tool For Making Builds, Uploading Them To Online Services And Notifying Chat Apps

Steamworks | Itch.io | Epic Games | Google | Apple | Consoles | Dropbox | Github

Discord | Slack | Google Chat

Open Source | For Commercial Use


LICENSE GitHub Issues Open GitHub Issues Closed Github Release Downloads STARS

Key Points 💡

  • Windows, Mac, Linux support
  • Unity Supported (Light and Dark)
  • Create multiple builds using Build Configs or Unity's Build Profiles.
    • Windows, Mac, Linux, Webgl (Others loosely supported via Unity's Build Profiles)
  • Tiny build size impact
  • For personal and commercial use
  • Open Source
  • Safely modify builds before uploading
    • Remove files/folders
    • Compress/Decompress files
    • DRM wrap (anti-piracy)

Interface

Simple and Advanced GUI support

alt text

Non-UI support

[MenuItem("Test/Create new Task and Upload to Steam")]
public static async Task StartTask()
{
    UploadConfig config = new UploadConfig();
    
    // Create a build using a custom Build Profile
    config.AddSource(new BuildProfileSource("Windows Development"));
    
    // Build to this directory. {buildNumber} will be replaced with a locally stored incremental number
    config.AddDestination(new LocalPathDestination("C:/MyBuilds/{buildNumber}"));
    
    // Upload to Steam
    config.AddDestination(new SteamUploadDestination(1141030, "internal", 1141031));
    
    // Create task and execute to begin the upload
    UploadTask task = new UploadTask("Upload to Steam", config);
    task.SetBuildDescription("My first build!");
    
    await task.StartAsync();
    Debug.Log("Upload complete. Success: " + task.Report.Successful);
}
[MenuItem("Test/Upload Existing Profile")]
public static async Task StartTask2()
{
    // Load existing Upload Profile that gets a file and uploads it
    UploadProfile profile = UploadProfile.FromProfileName("Save Locally");
    
    // Create task and execute to begin the upload
    UploadTask task = new UploadTask(profile);
    
    await task.StartAsync();
    Debug.Log("Upload complete. Success: " + task.Report.Successful);
}

Batch mode

"C:\Program Files\Unity\Hub\Editor\<Unity Version>\Editor\Unity.exe" -quit -nographics -batchmode -logFile logs.log -projectPath "<Path To Your Unity Project>" -executeMethod Wireframe.BatchModeUtil.Execute 41cf5e

Replace 41cf5e with the GUID or Name` of your Upload Profile

Unity's command CLI

unity command build_uploader --start_tasks "41cf5e"

Replace 41cf5e with the GUID or Name` of your Upload Profile

Services

  • Steamworks
    • Uploading a build to any branch or depots
    • DRM wrap (anti-piracy)
  • Itch.io
    • Upload a build
  • Epic Games
    • Upload builds to specific artifacts
  • Google (Experimental)
    • Upload builds to Google Drive
    • Upload builds to Google Play
    • Send message to Google Chat
  • Apple (Unity 2022 and up) (Experimental)
    • Upload builds to Apple
    • Add build to Test Flight
  • Dropbox (Experimental)
    • Upload a build
  • Playstation (Experimental)
    • Upload a build
  • Xbox (Experimental)
    • Upload a build
  • Nintendo (Experimental)
    • Upload a build
  • Git
    • Format text according to current git state
    • Create and push Tags
  • Github
    • Upload a new Release
  • Discord
    • Send message to a channel
  • Slack
    • Send message to a channel
  • Email
    • Send customized emails
  • Unity Cloud Build
    • View, download and start builds

Prefer a fully headless run with no Editor open?

Wiki

Links

Security 🔒

This package does NOT distribute any personal information. Any information entered is encrypted locally on your computer.

Keeping your credentials safe is important to me!

If you discover any security related issues, please email me, message on discord or create an issue on github.

Reporting bugs / suggesting changes ❓

If you find a bug or want to suggest a change, create an issue on github

Include:

  • What the problem is
  • What you expected to happen
  • What version of Build Uploader you are using
  • What version of Unity you are using
  • Are you using Windows/Linux/Mac

How to Contribute 🔨

  • Fork the repository
  • Make your changes
  • Create a pull request to the develop branch
    • Include detailed description of the changes you made and why
    • Include what versions of Unity you tested it on
    • Include any concerns with the changes you made (So i'm aware of them too)

How to Support 🙏

A lot of effort has been put into this package for others to freely use. Any kind of support is greatly appreciated and encourages further work!

Supporters

License 🪪

Creative Commons - CC0 1.0 Universal

Use this package however you want - commercially or non-commercially.

Created with AI

Claude AI has assisted by providing suggestions and creating services that would otherwise not be possible by myself.

All suggestions have been reviewed and rewritten by a professional Senior Unity Developer to fit the package's requirements.

About

Editor tool to help you upload builds to online services. Steam being the obvious

Resources

Stars

188 stars

Watchers

2 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages