Our Unity Packager has been developed to simplify our CI pipeline process for Unity3D tools.
Unity3D already provides a packaging tool through the UI, or using their CLI. In both cases, it is necessary to have Unity installed and being able to compile the scene correctly. Taking that in consideration, in addition that you need Windows or macOS to run the app, or a supported Linux version (if still available), the CI process becomes more complex and resource consuming.
What's Unity Packager?
Unity Packager is a very lightweight tool developed in Golang, that can create a unity package easily.
There's a Docker image that can be use for dockerized CI pipelines, or binary files for the different architectures and OS that can be used and embedded directly in the project to simplify the pipeline.
How to use it
Through Docker, assuming you current directly is your project, and you want to package everything that is inside the Assets/
folder.
docker run -v $PWD/:/home/src ghcr.io/monkiato/unity-packager:1.0.1 unity-packager create -p /home/src/Assets -o my-project -i ".csproj"
or using the binary directly:
unity-packager -p Assets/ -o my-project -i ".csprpoj"
Binaries can be found in the Releases section https://github.com/monkiato/unity-packager/releases/
More info can be found in the README file https://github.com/monkiato/unity-packager
Vector de caja carton creado por vectorjuice - www.freepik.es