UI Frameworks

Learn to use NUGETs … problem solved.

Yep. Nuget is ideal.

That’s great but I still like to hear about your errors if possible. I’ve been in contact with several people using the lib and none of them had any errors, so if there’s a problem on a certain platform or version it will help me to know.


Don’t you work for Microsoft or Xamarin Company? They should pay salary for your work.

No one is getting paid just for working on MG. Also Xamarin and Microsoft are not directly involved in MG development.

Following the advice of @GeonBit, I’ll promote my library here too.
Myra is open-source(MIT licensed) MonoGame(FNA support is on its way) GUI Library.
It has following pros:

  • Ease of deployment. Myra is the PCL assembly. And theoretically could be added to any MonoGame project. Therefore it is available in the NuGet and in the MSI binary distrbution form. Later I’ll add also ZIP binary distribution for the Linux development environment.
  • Rich choice of widgets. Myra is aimed to provide widgets not only for the actual game, but for the level editor as well. Right now, it has following widgets: TextBlock(aka Label), TextField(editable text), Image, SplitPane, Button, ScrollPane, Grid, Menu, Tree, Slider, ListBox, ComboBox, Window. SpinButton will be added too.
  • Standalone UI editor. Myra’s binary distribution contains the standalone UI Editor application, which could be used to draw the UI. It’s screenshot is attached to this post.
  • Styling support. Myra widgets has full support for custom styling. Customization can be done either in code or by providing custom JSON.

Unfortunately cons list is also considerable:

  • The library is quite young and has many bugs.
  • The documentation is very poor: https://github.com/rds1983/Myra/wiki. Though I hope to fix it eventually.
  • The library API might be complicated. Especially it is true for the layout.
  • It avoids using the Content Pipeline. Which might be confusing for MG developers that are used to it.

This is the offical Myra thread: Myra - UI Library for the MonoGame

I’ll make sure the top post there contains link to the latest release. Also I’ll try to answer all questions there.



I really like Myra so far and have already been using it for my game. I think the approach taken is correct; Simplicity, lean, natural. No excessive flashy show-off IOC MVVM stuff here - you can just focus on getting simple UI’s up and running pretty quickly. Thats all thats needed for most games. Its also installs correctly and is easy to update with Nuget.

Yup, looks good for the first version (beta or whatever). Both Myra and GeonBit are promising, tho still missing some advanced features, which are really needed for game dev. I hope that authors will keep working on it, that is the hardest thing. So keep working on it guys!

This one may also be interesting for game’s menus, config, etc.

1 Like

Bumping with some exciting updates since I first posted GeonBit.UI, which was pretty long ago (lots of updates in between but I didn’t want to bump too often)…

GeonBit.UI is now at version which includes render targets, lots of bug fixes, optimizations, some new entities (like panels tab), scrollable panels and clipping mode, better API, and most importantly: a NuGet package :wink:

You can grab it here:

And here’s a comic to summaries this whole thread (myself included):


Empty Keys UI v3.0 has been released, DPI love, fixed bugs and some new features. The library was updated to MonoGame 3.6.

Release Notes: http://emptykeys.com/Community/aft/11/afc/2198
NuGets: http://www.nuget.org/profiles/EmptyKeys

BTW It has been three years since I started working on it. The MonoGame version of the lib has over 5k downloads!


With so many options for making (G)UIs for our MonoGame applications, perhaps it might be interesting to make a comparison post/guide to make it easier for developers to choose a UI framework.

Does anyone know if anyone is already working on something like that? If not, I might be willing to take up the task, though I don’t have a lot of spare time at the moment.

I did find this list of UI frameworks: What are you guys using for UI? Looking for a simple UI for MonoGame., but it’s hardly a good comparison. For example it doesn’t say anything about ease-of-use or features, which are things I would expect in a comparison.


I agree this would be nice. Not just for users, but also for the developers to know how to improve their lib.

I put that original GUI spreadsheet together a while back. It was never really intended to be a proper comparison. It’s mostly just a list to get some idea of what’s out there.

I put it together when we were considering how to include a GUI package into MonoGame.Extended. The result of which we ended up porting Nuclex and I also started working on one from scratch which I’m still working on, but making decent progress.

There’s been one or two pop up since I originally created the spreadsheet but as far as I’m aware it’s a pretty complete list. It’s certainly a good starting point if you’re going to do a write up about MonoGame UI frameworks. Feel free to take it and use it however you like.

It’s always good to have more people creating blog posts or resources about MonoGame libraries. Aside from the time it’ll take to create something like that there’s really no downside to throwing stuff like that on the internet. Just be sure to post a link back here when you’re done.

Microsoft now OWNS xamarin so if you don’t want to be left behind fix mono game real quick before Microsoft does, bugs in opentk (android full screen) will soon be fixed inside xamarin/visualstudio18 if you want to open source develop I suggest you hurry, xamarins NEW pages telling us about D.I.P. help along way to getting screen resolutions on an android device? I thought monogame was going to be helpful, Microsoft give there community away for free and it’s good stuff, i’ll stick with monogame if they can answer one question AND ITS BEEN TESTED.

@Paul_Crawley, you appear to be under the impression that MonoGame is now under the control of Microsoft. This is not the case. Xamarin did not own MonoGame at any time, and therefore Microsoft has no ownership of MonoGame. Some members of Microsoft have contributed code which goes through the same pull request/review process as everyone else. There is no “the sky is falling” happening here.

To answer your question, it does give you a full screen, i.e. no title bar and no soft buttons, at least the last time I checked it. Platforms do change however, so if an Android update has changed things, and this has happened before, it can be fixed, either by yourself or someone else in the community and submit a pull request with the changes.

not under any impression that Microsoft owns monogame, I know they don’t, they do own Xamarin now, latest Xamarin runs inside visual studio 2017 and Xamarin studio no longer works if you have VS 2017 installed.
I was pointing out that monogame claims to be cross platform, so setting a screen resolution of 800x600 on windows and setting a background picture (texture) should it not work on all platforms using the same commands, in the case of android it doesn’t.
to be truly cross platform shouldn’t the same code work the same way and be handled in the background? Try the code yourself, make a windows full screen mode of 800x600 on windows, use the same code for android, you’ll have an 800x600 box that DOES NOT cover the full screen (THE ENTIRE SCREEN!!!) as I been saying all along !!!

Spent the last two hours looking at UI Empty Keys,Mira and GeonBit UI.
And feel kind of lost right now. A solid and established UI library is really one of the things lacking.

1 Like

If you have any specific issues or need help with GeonBit feel free to PM me or open a ticket on github. building UI ain’t easy and feedback is always useful :slight_smile:

1 Like

There’s an entire Monogame.Extended.GUI framework and not an ounce of documentation (that I can find) around how to use it. So frustrating.