/omiya-games-builds

Multiplatform Build Settings is an Unity tool for building to multiple platforms at once, each with their own unique settings.

Primary LanguageC#MIT LicenseMIT

Omiya Games - Multiplatform Build Settings

openupm Builds documentation ko-fi

Multiplatform Build Settings (or Build Settings for short) is a Unity package by Omiya Games that allows one to setup build settings for multiple platforms, then with one-click, prompt Unity to build to all of them. This package supports building to:

  • Windows, both 32- and 64-bit.
  • Mac OSX, 64-bit-only.
  • Linux, 64-bit-only.
  • WebGL.
  • Android.
  • iOS (XCode project export).

Other features this package supports:

  • Grouping:
    • Grouped settings will be built under a nested folder.
    • In addition, one can choose to build to a single group of settings.
    • Groups can be nested as well.
  • Dynamic build naming.
  • Support building with debugging turned on.
  • Option to zip the build after being built.
  • For WebGL, supports WebLocationChecker integration:
    • WebGL settings can take multiple lists of valid domains; the build setting will then generate a DomainList per list before zipping the build.
  • For Android build, if the user forgets to enter a keystore password, the build settings will prompt the user for it before building.

A quick-start guide on how to use Build Settings is available here: Documentation

Install

Installing via OpenUPM's command line tool is strongly recommended over Unity's Package Manager because the former supports dependency resolution...and this package has a lot of dependencies! If you haven't already installed OpenUPM, you can do so through Node.js's npm (obviously have Node.js installed in your system first):

npm install -g openupm-cli

Then, to install this package, just run the following command at the root of your Unity project:

openupm add com.omiyagames.builds

As this package is in early stages of development, there are some known issues.

  • Dynamic build naming sometimes doesn't update properly. For a work-around, add, then remove a literal field.
  • Build Settings does not wait until a zipping operation is completed or not. While for most use cases, this is fine since building is such a lengthy process compared to zipping, behavior on what happens when two zipping operations runs at the same time has not been tested.
  • Build Settings does not check if libraries for building to a specific platform has been installed or not.
  • Similarly, Build Settings does not check if IL2CPP build libraries are installed or not.
    • Note, Build Settings intentionally does not build with IL2CPP if building from the wrong OS (e.g. building a Mac OSX build from Windows) even if the settings is on, because Unity does not support cross-platform building with IL2CPP. Rather, the issue is that Build Settings simply can't check if IL2CPP build support is installed on Unity at all.
  • General workflow improvements needed.
    • Build naming in particular.

If you find a new one, please file them under Github project's Issues.

Resources

LICENSE

Overall package is licensed under MIT, unless otherwise noted in the 3rd party licenses file and/or source code.

Copyright (c) 2019-2021 Omiya Games