UPDATE: If you end up having building issues with your sound files, there is a fix at the end of this tutorial!
Hi guys, so, I'm an Ubuntu user and I was suffering to deploy my game using MonoDevelop, so I found out about dotNet publish, VSCodium and Samsung dotNet debugger, so I'm here to post a tutorial about how to setup a MonoGame project on your Linux (don't need Monodevelop!):
Tools we're going to install:
- VSCodium. (An open-source VSCode, but without trackers and telemetry)
- Samsung .NETCore Debugger (An Open-Source NETCore debugger)
First let's follow these steps:
1 - Install .NETCore on your linux, follow these steps::
2 - Install VSCodium following these steps here:
3 - Once they are finally installed, go to your terminal and type:
dotnet new --install MonoGame.Template.CSharp
(this will add monogame template to dotnet core)
cd to your favorite project folder and type:
dotnet new mgdesktopgl -o MyGame
(MyGame can be called your project)
5 - Go to your already created game project folder by typing
VSCodium will open, go to Extensions Tab (
Ctrl+Shift+X) and install these 3 extensions:
Once everything above is installled, now we have to install the Debugger. Once the default debugger is only available on Visual Studio and VSCode (not the open-source VSCodium), we have to install the open-source .NETCore Debugger from Samsung. Now follow these steps:
1 - Download the
netcoredbg-linux-master.tar.gz (not the
armv7l one) file here:
2 - Extract it and copy the
netcoredbg folder to your
3 - Go to your game project folder and open the
launch.json file located inside
.vscode folder, on
/your_proj_name/.vscode/launch.json. You can edit this file inside VSCodium as well, or on your favorite editor.
4 - Once launch.json is opened, you can see if code is like this one and you can do the changes:
Here how it looks mine:
// Use IntelliSense to find out which attributes exist for C# debugging
// Use hover for the description of the existing attributes
// For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md
"name": ".NET Core Launch (console)",
// If you have changed target frameworks, make sure to update the program path.
// For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console
"name": ".NET Core Attach",
Remember that you have to change "your_username" to your real username on: ( without the ( ) )
And also change the line (your_game_folder_name) to the name of your game folder name ( without the ( ) )
Once finished the changes, save it and you now will be able to Debug through Samsung NetCore on VSCodium! Press
F5 to test it out!
And the last, but not least, once you finish a demo of your game (or the full game), it's time to publish it, so you can have your fans testing your game. On Linux we can deploy to all 3 desktop platforms: Linux, Windows and Mac.
So just go to Terminal on VSCodium by clicking on Terminal -> New Terminal and choose between these 3 commands:
dotnet publish -r linux-x64 -c release
dotnet publish -r osx-x64 -c release
dotnet publish -r win-x64 -c release
All builds will then be ready and can be found on
Well, there you are! A complete open-source experience for a linux user ^_^ Hope it works for you as well!