Skip to content

Repository files navigation

Multi-Platform Builder

Editor-only Unity tool that builds the selected platforms in sequence into a versioned, organized folder structure under Builds/, with one folder per platform.

  • Platform checkboxes that only enable platforms whose build module is installed
  • Windows, Linux, macOS, WebGL and Android
  • Customizable folder-name templates with %VERSION%, %PLATFORM% and %PRODUCT% placeholders
  • Per-build results with total size and duration
  • Build report showing which assets take up space, with one tab per platform
  • Folder drill-down to find which part of the project weighs the most
  • Output file and build step breakdowns, so the whole build is accounted for
  • Optional per-platform switching so every build gets the right platform code
  • Icons and colour coded buttons, both switchable
  • Works the same from a Windows, macOS or Linux editor
  • Settings saved per project

Requirements

  • Unity 6.3 (6000.3) or newer
  • Editor-only: no runtime code or dependencies
  • Runs from a Windows, macOS or Linux editor. Which platforms you can build depends on the modules installed in the Unity Hub, not on the editor you happen to be running

Installation (Git URL)

In Unity, open Window > Package Manager, click + > Add package from git URL, and paste:

https://github.com/innocentmiau/MultiPlatformBuilder.git

To pin a specific release, append the tag:

https://github.com/innocentmiau/MultiPlatformBuilder.git#v1.9.1

Alternatively, add it directly to your project's Packages/manifest.json:

{
  "dependencies": {
    "com.andreleandrodev.multiplatformbuilder": "https://github.com/innocentmiau/MultiPlatformBuilder.git#v1.9.1"
  }
}

Usage

  1. Open Tools > Build > Multi-Platform Builder.
  2. Check the platforms you want to build.
  3. Adjust the folder and executable name templates if needed, using the %VERSION%, %PLATFORM% and %PRODUCT% placeholders. The preview shows the resolved output path for each selected platform.
  4. Click Build Selected and wait for the builds to finish. Each result shows status, size and duration, with a Reveal button to open the output folder.

Accurate builds and WebGL

Unity only defines the scripting symbols of the platform the editor is currently set to, and building a different platform does not change them. A Windows build made while the editor is on Linux is compiled with UNITY_STANDALONE_LINUX defined and UNITY_STANDALONE_WIN missing, so platform specific code takes the wrong branch.

Switch platform per build (slower, accurate) fixes that by switching the editor to each platform before building it. The platform you are already on is built first, and Switch back to <platform> when done returns you to it afterwards.

WebGL only appears in the platform list while this option is on, because a WebGL build made without switching is always broken.

The cost is time: every switch recompiles scripts and reimports assets for that platform, which can take several minutes the first time. Unity caches imported assets per platform, so later runs are much faster. The editor stays open the whole time, and the queue keeps going across the reloads, even if you close the builder window.

Build report

Every build writes a report of what ended up inside it, so you can spot the assets that are worth shrinking.

Open it with Tools > Build > Build Report, or tick Open Report When Done to have it pop up after each build. The window has one tab per platform that was built, and lists every source asset with its file name, type and packed size, biggest first. Focus selects and pings the asset in the Project window.

Reports are stored under Library/MultiPlatformBuilder/BuildReports. The last 10 builds are kept, so they are still there after restarting the editor.

Comparing builds

Show All lists every stored build with how much it grew or shrank. Each row is compared against the row below it, so the newest build sits at the top and reports the change since the previous one.

To compare two specific builds, pin them. The first pin stays at the top as the baseline, and pinning another build drops it into the second slot, so you can hold one build fixed and click through the others to compare against each.

License

MIT (c) Andre Leandro

About

Editor-only Unity tool that builds selected platforms in sequence into a versioned, organized folder structure.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages