An expandable and customizable framework for multiplatform builds with Unity.
The primary goal of this project is to take build scripts that I've already used on some projects and make them slightly more generic, expandable, and customizable. This includes supporting the generation of AssetBundles as well as preparing/uploading builds for services like itch.io and Steam.
Do one of the following:
- Download this project and copy the
Editordirctory into your project's assets directory. - Make this repository a git submodule within your project's assets directory.
- Click
Build > Edit Settings. - If you're using AssetBundles, click
Build > AssetBundles > Edit Settingsto edit the applicable settings. - If you're using itch.io uploading, click
Build > Upload > itch.io > Edit Settingsto edit the applicable settings.
- Click
Build > Run Buildto build the project. You can select which platforms to build in theBuild > Platformsmenu.
This project is designed to be highly modular, so you can delete any parts you don't need for your project. I may break these out into separate GitHub repositories at some point but for now just delete what you don't need.
AssetBundles- AssetBundle building. Delete this directory if you aren't using AssetBundles or have your own AssetBundle workflow.Build- The core build functionality. Don't delete this directory. If you don't need a particular platform, you can delete that individual class.Upload- TODO
- Generate a BuildPlatform file by clicking
Build > Generate > BuildPlatformand selecting an Editor directory within your project. - Set the constant values.
Create an editor class that inherits from PreBuildAction or PostBuildAction and overrides the Execute method. You can override the "priority" property to control the order actions execute (lower values runs earlier).
TODO
Bug reports, feature requests, and pull requests are welcome and appreciated.
All code in this repository (unity-build) is made freely available under the MIT license.