Extended.Gui or Extended.NuclexGui

Hi there, I started working with monogame and monogame.extended in the last week and I’m in love.

Working on a little top down RPG and I’ve finally come to the point where I need to start s̶l̶a̶p̶p̶i̶n̶g̶ ̶t̶o̶g̶e̶t̶h̶e̶r carefully implementing the interface.

Reading through the discussions here and here, it seems like it’s been a real adventure in terms of putting together a system. Nearly two years on at this point and here I am, late to the party as usual.

So monogame community, which do you recommend? The extended GUI or NuclexGUI? Appreciate any input, thanks!

I’m having a look at NuclexGui at the moment. It seems really solid but some of the example code doesn’t seem to match up with what I got from Nuget.

Here’s what I mean:
This example code says on line 106 Style = "label-title" and looking at the actual class for GuiLabelControl, it’s clearly there on line 20.

The definition from the nuget reference is as follows:

namespace MonoGame.Extended.NuclexGui.Controls
{
    public class GuiLabelControl : GuiControl
    {
        public string Text;

        public GuiLabelControl();
        public GuiLabelControl(string text);
    }
}

As you can see in my code, there is no definition for Style.

I’m not sure how big of a difference this makes, but inconsistencies always scare me :stuck_out_tongue:

Just thought I’d mention it, while I’m testing things out.

Okay, I think I’m going to drop Nuclex. Gonna give the other one a try. :slight_smile:

Okay, after much testing and soul searching, I’ve found the perfect solution. It’s called GeonBit.UI and it’s very impressive. For anyone that comes across this thread in the future, take a look here. It’s just so simple and easy to implement.

Threw this together in a few hours, totally dynamic and single line of code to add more keybinding options.

Great to know you found a solution that works for you mate.

The story behind Nuclex GUI is that we ported it from an old XNA project to get some sort of GUI solution into MonoGame.Extended.

Meanwhile, I’ve been working on our own GUI system for quite some time. It’s quite a big job creating a really solid GUI system. I work on it every so often and make some progress each time but there’s still some work to call it “complete”.

There’s quite a number of GUI solutions out there but in my experience none of them are perfect. For now it’s really a matter of finding what works best for you.

I’m currently in the process of choosing a GUI framework (or making my own). And I’ve now spent 1h each with both Extended.GUI and Geonbit UI. I’m now gonna spend more time with Extended.GUI simply because I like the source code better. Being a C# software developer I feel like the GUI components makes more sense to me (dock- and stackpanels), and the source is much cleaner than Geonbit. My only fear is that Extended.GUI isn’t as complete as Geonbit… but in that case I can probably just extend the framework myself.

Completing Extended.GUI is on my to-do list but it’s definitely not on the top of my to-do list. In other words, you’re welcome to use it as-is but don’t wait around for it to be finished.

That said, if you do decide to use it you’ve got a lot of flexibility to do what you want with it. If you want to contribute to our project you can do that or you can simply take the code and use it in your project as you see fit.