UI Frameworks

Hi guys,
I just released beta version of Empty Keys UI Library - http://emptykeys.com

It’s PCL (profile259) so multi-platform and on top of that it’s multi-engine - MonoGame and SunBurn. It supports all cool features of WPF (limited ofc) like data binding, resources, styles, templates, dpi features etc. It comes with custom Code Generator from XAML to C# so you can use Visual Studio or any other WPF XAML designer. More info - http://emptykeys.com/Products

API Docs: http://emptykeys.com/EmptyKeysUI/index.aspx

Examples: https://github.com/EmptyKeys/UI_Examples

Any feedback is appreciated


Sorry if I offended you @Tom. I completely understand that this isn’t your paying gig and I fully appreciate all the spare time you’ve put into MonoGame.

I’m probably a little biased at the moment because I’ve had a few frustrating experiences in the last few days trying to port my game to Android. I had lots of strange errors trying to use the NuGet packages and almost all of the MonoGame samples (found in various github repo’s) didn’t compile out of the box. It was kind of annoying to say the least, but certainly not your fault.

This isn’t the first game I’ve made using MonoGame and in the past the porting experience has been relatively pleasant. It just surprised me that so many things had broken since the last time I did a port.

I’m also a very small team (just myself and my sister) making games in our very limited spare time. I completely understand how much work it takes to make games and also maintain an open source project. Not easy. It’s actually pretty impressive how far MonoGame has come with so few contributors.

Perhaps I should fork the project and start running from source so I can help fix the bugs that annoy me the most. Although, I already run a pretty weird configuration with portable class libraries and so on. I’ll have a think about it.

@filcon The GUI library looks very impressive. Nice work.

Not at all. I was just explaining it from our point of view which I don’t think people fully realize.

Android is a very hard platform to support… so much odd ball hardware. I’m really not surprised you had trouble with it. We generally avoid it ourselves.

MonoGame has been going thru a lot of big changes in the last 4-5 months and because we don’t have a complete set of unit tests it causes breaks in features. Just report the issues to us and we’ll get to them.

That is highly recommended. Not only does it help you solve your issues quicker, but it helps everyone else that works with MonoGame. If everyone using MonoGame contributed like that we would be much better off.

Why do you avoid it? It seems strange to ignore it considering how many people use Android devices. Google recently announced that it hit over 1 billion active users! And although the numbers vary from article to article it’s not hard to see that Android’s market share is at least as much as iOS.

Besides, I’m using a Samsung S3, easily the most widely used Android device around. And the errors I experienced had more to do with rendering full screen sprites. Basically, the image is not scaling to the actual size of the screen.

Yep. I guess if there’s nobody in the MonoGame team regularly testing Android devices I can start taking that responsibility. Perhaps I can implement some unit tests to catch errors like the full-screen one’s I’ve experienced.

Hey, I’m the author of the Ruminate XNA 4.0 GUI library,

Anyways just a heads up I have resumed work on the project. The main issue was that I was hooking into the windows form which had the benefit of providing event driven input and handling the timings for repeat characters, double clicks, and the like. I’ve sidestepped the issue by using a 3rd party library that solves most of those issues for me.

Intend to add tables and some formatting tools in the near future.




You can try AltSketch if you like

AltSoftLab Team

@filcon Is the source for Empty Keys available? I love the look of it, though not sure I’d be comfortable using it if it isn’t open source. I see it is MIT licensed though.

Would be great if you could put it on GitHub or something! :smiley:

There will be no sources avail for main library, but I’m preparing small modules (Game Menu UI, RPG UI etc.), which will come with sources. Those won’t be for free tho.

There is open source UI Generator https://github.com/EmptyKeys/UI_Generator , which is part of the library. So you actually don’t need the main library sources if you want to expand it’s features. You can always use ILSpy, I didn’t obfuscate styles, templates etc.

And if you are looking for some way how to do something, you can just ask.

I ported XNA simple Gui towards https://gui4u.codeplex.com/ , it works on my windows 8 pc for monogame 3.2.
Maybe its interesting for you…


Seeing as I kicked this thread off months ago I should really provide an update!

After filcon’s initial post I looked in to using EmptyKeys and soon began to create the UI my game needed. Got to say, it’s been great - it works really well, does everything I need and there are plenty of decent examples with it. I’m really glad I adopted EmptyKeys as, after months of searching for a good UI framework, it continues to be a solid choice.

A couple of months ago, I created a very experimental framework that used the syntax of HTML and CSS to modify and render different UI controls. It was quite flexible, especially if you’re familiar with the web. I think It might turn out pretty cool if I spend some more time on it. In the future, is this something that the community might be interested in?

Here’s a screenshot on some live action. Note: The menu design is quite flat, but you can create more complex stuff using the framework.


Empty Keys UI v1 and Game Menu Module released today. Thanks everyone for helping with beta.

I am personally waiting to make my contribution. I haven’t quite found what it will be yet. It’s made harder given that I am running all my projects off the Release installer on the main home page for MonoGame, but when I change it to GitHub source I will push any changes that I make. :smile:

1 Like

Consider yourself lucky for that :smiley:

Version 1.1 released today. Added new Password Box control, support for Click Mode on all button types and support for Value Converter attribute.

Version 1.2 released today. Added new features for binding and fixed lots of issues. There is new experimental multi thread support too. There is a NuGet package for those, who prefer that.

Think I’ll give EmptyKeys a go. @flicon, are there options to change element colours etc.?

Pretty much the same like in WPF so you make new Style or Control Template. Small differences are explained on http://emptykeys.com/Community/aft/8

I know this is an old topic, but it’s one of the reasons I was inspired to start working on this scene / GUI editor. There’s still a few things to do before it’s usable. I thought now might be a good time to start talking about it.

I built the editor for my own projects, but I’ve always had it in the back of my mind that the MonoGame community might benefit from something like this.

My goal is to figure out if this is something the MonoGame community might be interested in?

Also, in the not to distant future, I’d like to get a couple of volunteers to use the beta version and provide feedback about it. This will be a fairly informal process of emailing each other, or discussing it on the forums. We’ll be trying to figure out how to best use it in actual games, and what features are most important.

1 Like

Version 1.3 is out with lots of fixed issues and updated support for FNA (MonoGameSDL2). Read release notes for more info.