GameBundle is a tool to package MonoGame and other .NET Core applications into several distributable formats.
GameBundle is a dotnet
tool, meaning you can install it very easily like so:
dotnet tool install --global GameBundle
By default, GameBundle builds the .csproj
file that it finds in the directory that it is run from. The bundled outputs go into bin/Bundled
by default.
To build and bundle your app for Windows, Linux and Mac, all you have to do is run the following command from the directory that contains your project file:
gamebundle -wlm
GameBundle will then build a self-contained release of your application for each system using dotnet publish
and clean up the output directory using NetCoreBeauty by moving most of the libraries into a Lib
subdirectory.
If you're building a MonoGame project using MonoGame's DesktopGL version 3.8.2.1105 or later, you can additionally supply the --mg
argument to automatically exclude MonoGame's native libraries from being moved into the Lib
subdirectory, which is a requirement for your game to run.
GameBundle takes several optional arguments to modify the way it works. To see a list of all possible arguments, simply run
gamebundle --help
In the future, GameBundle plans to include the following features:
An option to create aImplemented in.app
folder for Mac1.1.1
- An option to create an installer for Windows
- An option to create a flatpak (or similar) installer for Linux