/UnityBatchBuild

Batch build toolset for Unity

Primary LanguagePython

UnityBatchBuild

Build automation toolset for Unity, written in python

Just run

./batch.py {targets} {build mode}
./batch.py all

Batch job to do following boring routine work:

  • Configure build targets to build several packages & platforms.
  • Auto patch Unity macro & constants in source code.
  • Auto patch xcode project settings, plist & resource, including patches.
  • Call Unity & Xcode build in batch mode.
  • Build targets into .IPA / .APK file.
  • Pack streaming assets for in-game downloading.
  • Upload packages and streaming assets to remote hosts for downloading.

More highlights:

  • Run pre-configured shell script on local and remote host.
  • Support multiple build mode: debug, daily, release.
  • Auto send email notification. (smtp server required)
  • Auto send QQ notification. (smartqq-bot required)

Single command "./batch.py all" to do everything.

Dependency

  • Mac OS (including: python, ssh)
  • Unity
  • Xcode
  • mod-pbxproj
  • email server (optional)
  • smartqq-bot (optional)

Install

You need install mod-pbxproj before run build.py

$ curl https://bootstrap.pypa.io/get-pip.py > get-pip.py
$ sudo python get-pip.py
$ sudo pip install mod_pbxproj

Just git clone it to your UnityPorj/Assets/

$ cd /path/to/unityProj/Assets
$ git clone https://github.com/floatinghotpot/UnityBatchBuild BatchBuild

How To Use

# ... configure the build settings in build_config.py ...

# start batch build
BatchBuild/Editor/batch.py all

More options:

Syntax: batch.py <target> <mode>
            <target>     ios | android | amazon | 360 | ... | all
            <mode>       --debug | --release | --daily | -d | -r | -l
            <mode>       --no-clean | --no-build | --no-archive | -nc | -nb | -na
            <mode>       --no-email | --no-qq | -ne | -nq

Credits

Created and maintained by Raymond Xie.

Published under MIT license.

See Also