Dependency Management
Currently, shell scripts are used to download some third-party libs (see tools/setup.sh).
Some other DLLs have been downloaded from NuGet and copied to the project.
Building
Using the Unity editor UI, one has to build platforms one after the other.
Currently, there are some custom menu items to do this.
Scripting is needed if one wants to create a build pipeline that builds, for example, multiple platforms after the other (e.g. Win, Linux, macOS, Android
Expected behaviour
Dependency Management
A better dependency management would be nice where one just adds the lib or repo that should be fetched.
This should support
fetching from GitHub repo and placing files where they are needed by the Unity project (this is currently done by the shell scripts).
adding specific version of DLL libraries from NuGet (e.g. for specific language version)
Unity specific config for these is also needed, e.g. to only include a lib when building for specific target OS
Build Pipeline
It would be nice to build all targeted platforms reliably with a single command on the terminal, similar to Maven or Gradle, etc.
Implementation Hints
There are some build tools for C#, e.g., Cake, which already has some Unity extension.
Needs research. The tool should be easy to use, easy to set up, easy to integrate in CI, and extensible for custom needs.
The goal is to trigger the same build tool from the CI, manually from command line, and from within the Unity editor via some menu item.
Actual behaviour
Dependency Management Currently, shell scripts are used to download some third-party libs (see
tools/setup.sh
). Some other DLLs have been downloaded from NuGet and copied to the project.Building Using the Unity editor UI, one has to build platforms one after the other. Currently, there are some custom menu items to do this.
Scripting is needed if one wants to create a build pipeline that builds, for example, multiple platforms after the other (e.g. Win, Linux, macOS, Android
Expected behaviour
Dependency Management A better dependency management would be nice where one just adds the lib or repo that should be fetched. This should support
Build Pipeline It would be nice to build all targeted platforms reliably with a single command on the terminal, similar to Maven or Gradle, etc.
Implementation Hints
There are some build tools for C#, e.g., Cake, which already has some Unity extension.
Needs research. The tool should be easy to use, easy to set up, easy to integrate in CI, and extensible for custom needs.
The goal is to trigger the same build tool from the CI, manually from command line, and from within the Unity editor via some menu item.