/SimpleBuildInterface

A simple build interface for Unity CLI. Support all platforms without executeMethod option.

Primary LanguageC#MIT LicenseMIT

Simple Build Interface for Unity CLI

PRs Welcome

GitHub Workflow Status Test CodeCoverage

<< Description | Installation | Usage | Development Note | Change log >>





Description

Unity supports to build for standalone platforms (Windows/macOS/Linux) from the command line.

# Lunch Unity to ...
/Applications/Unity/Unity.app/Contents/MacOS/Unity -batchmode -projectPath .

# build for specific standalone platform.
... -buildLinux64Player <pathname>
... -buildOSXUniversalPlayer <pathname>
... -buildWindowsPlayer <pathname>
... -buildWindows64Player <pathname>

This plugin provides a simple build interface to build all platforms without executeMethod option.

# Lunch Unity to ...
/Applications/Unity/Unity.app/Contents/MacOS/Unity -batchmode -projectPath .

# build for specific platform.
... -build -buildTarget WebGL

This command is equivalent to run Build Settings > Build on WebGL platform.

See Usage for details.





Installation

Requirement

Using OpenUPM

This package is available on OpenUPM.
You can install it via openupm-cli.

openupm add com.coffee.simple-build-interface

Using Git

Find Packages/manifest.json in your project and add a line to dependencies field.

"com.coffee.simple-build-interface": "https://github.com/mob-sakai/SimpleBuildInterface.git"

To update the package, change suffix #{version} to the target version.

  • e.g. "com.coffee.simple-build-interface": "https://github.com/mob-sakai/SimpleBuildInterface.git#1.0.0",

Or, use UpmGitExtension to install and update the package.





Usage

# Lunch Unity to ...
/Applications/Unity/Unity.app/Contents/MacOS/Unity -batchmode -projectPath .

# build for current platform.
... -build

# build for specific platform.
... -build -buildTarget WebGL

# build with full-option.
... -build -buildTarget WebGL \
  -out "production_build" \
  -buildOptions "Development;!ConnectWithProfiler" \
  -scenes "Level1;!EditorLevel1" \
  -assetBundleManifestPath "AssetBundles/manifest" \
  -extraScriptingDefines "EXTRA_SYMBOL;EXTRA_SYMBOL2"
Option Description
-build (Required)
Build the project for current. platform
-out <path> Output path
Default: {BuildTarget}_Build.
-buildOptions <options,...> Add/remove BuildOptions to build. 1 2
-scenes <names,...> Add/remove scene names to build. 1 2
-assetBundleManifestPath <path> Path to AssetBundleManifest.
-extraScriptingDefines <symbols,...> Extra scripting defines for building player. 1

1: Multiple values must be separated by a semi-colon (;) or a comma (,).
2: Prefix 'not' (!) to exclude the specified value.





Development Note

Execution order

  1. InitializeOnLoad
  2. InitializeOnLoadMethod
  3. DidReloadScripts
  4. The method specified by the -executeMethod option
  5. Build by this plugin

You can customize the build parameters using any method you like. :)





Contributing

Issues

Issues are very valuable to this project.

  • Ideas are a valuable source of contributions others can make
  • Problems show where this project is lacking
  • With a question you show where contributors can improve the user experience

Pull Requests

Pull requests are, a great way to get your ideas into this repository.
See sandbox/README.md.

Support

This is an open source project that I am developing in my spare time.
If you like it, please support me.
With your support, I can spend more time on development. :)






License

  • MIT

Author

See Also