MonoGame CrossPlatform Project and Steam SDK?

Hello guys

I have been using MonoGame since spring, and our little team has been greenlit on Steam. I don’t want promote it or anything, it’s not finished yet and will probably cost only few dollars.

Anyways, is there official promoted MonoGame tutorials to use Steam SDK? I want to implement the usual Steam stuff: Achievements, Trading Cards, Steam Overlay (this should come automatically I think), maybe Steam Cloud. These are the only things I know that use Steam SDK, I don’t know about anything else so I might be missing something crucial.
Current save file system is few different .XML files, for saving the game and settings in game’s sub folder.

Another thing that is not clear to me, because in CrossPlatform Project the Windows, Linux and Mac use the same .exe, do I need to have fancy launcher settings or something? How does Steam know that it can use the same .exe? What about creating installer with must-have dependencies like .NET framework etc, or the Linux/Mac equivalents?

Thank you!
PS. I’m looking forward to upgrade the game to use 3.6 once it comes out with it’s better CrossPlatform stuff and other things :wink:


Congratulations on getting your game to Greenlit, hope it goes well for you. I’ve recently watched the latest monogame Youtube live chat (worth watching every month):

In this episode they were talking about desktop monogames and mentioned something called - which is a wrapper library to the Steam APIs, for things like Overlay, achievements etc. I think this might be of use to you (only just heard about it myself so not sure how useful it will be), Check it out at least:

Don’t forget to showcase your game to us on the community forums :slight_smile:

Check out Steamworks.NET. As for dependencies, you’ll want ro use MonoKickstart to package mono with your game for Linux and Mac. You can find it on GitHub at MonoGame/MonoKickstart. I’ve never releases to Steam myself, so that’s as far as my knowledge goed :stuck_out_tongue:

We have a mp game on Steam using i can give you some additional wrapper classes and advice. Just pm me for my Skype handle. I’m gmt+1

So for Windows .exe is a usual extension and on steam you just need to tell it to install .Net framework for your game to work. For Mac and Linux you need to use MonoKickstart, this will include all the needed stuff to run your C# app on Unix systems without end user having to install any libs.

As @Jjagg suggested above you want to use Steamworks.Net to communicate with Steam API, MonoGame doesn’t offer it out of the box.

And in case you are wondering of DesktopGL games that are already on Steam, take a look at Raining Blobs and Neuro Voider

PS. DesktopGL = MonoGame CrossPlatform Project, it’s just a codeword for the platform.