Does anyone know if niftyGUI is still being mantained?

Hi all,

I have some half-done projects using niftyGUI and I just realized nifty has not been updated for long. Last commit at github was done at May/2019. Moreover, there’re 7 open PRs without even a comment on them

So I would like to know if it’s still actively developed or at least maintained.

I know most of you will advice me to change the GUI in favour of Lemur or any other GUI lib but that’s not an option nowadays for these projects, apart from the GUI itself, I have plenty of custom controls, effects and other related random code. And obviously I would prefer not to have to rewrite it all :frowning: For the next one, if any, I may use other instead



They still do accept fixes etc. Pretty ok response rate for any queries you might have to them. We might see a bug fix release in the future but that is pretty much it. No new real work.

It still works on most parts. Maybe should be avoided for new projects but there is no compelling reason to change existing ones just because.


Thanks @tonihele :wink:

1 Like

A word of warning: I’ve noticed that it can have some pretty serious performance issues on some platforms. The NiftyGUI slowed one of my games down to a crawl on Android. Perhaps that is just the Android implementation, but it is something to keep in mind compared to something like Lemur or tonegodgui.

1 Like

Yes, nifty is slow as hell in android. To workaround it I forced nifty to use batch rendering. This way it performs good enough for my use cases although you lose image quality

1 Like

Yeah, I had this horrible performance issue with Nifty on my laptop when I was using Maud editor.

1 Like

One should always use the batched version. I don’t think it loses any image quality. Here is the setup I’m using:

    BatchRenderConfiguration config = new BatchRenderConfiguration();
    config.atlasHeight = 2048;
    config.atlasWidth = 2048;
    config.fillRemovedImagesInAtlas = false;
    config.disposeImagesBetweenScreens = false;
    config.useHighQualityTextures = true;

I’m using same values but smaller atlas size:

        batchConfig.atlasWidth = 1024;
        batchConfig.atlasHeight = 1024;
        batchConfig.fillRemovedImagesInAtlas = false;
        batchConfig.disposeImagesBetweenScreens = false;
        batchConfig.useHighQualityTextures = true;

Later I’ll post two screenshots one batched and other not batched so you can see the difference. Maybe the issue is that I have some big images that are being scaled down :thinking:

1 Like

As author of Maud, I know it has major performance issues. However, I don’t blame any of them on NiftyGUI.

Even if there were Nifty-related issues in Maud, that wouldn’t be a reason to avoid Nifty. Maud isn’t a typical use case for NiftyGUI.


Sorry for re-bumping this thread, but I found out there’s a niftyGUI fork ( GitHub - Starcommander/nifty-gui at 1.4 ) which seems to be much more maintained than the original repository. At least this includes all niftygui PRs not merged in base project.

I thought this could be of interest to some people here



1 Like

Here’s an interesting exchange with the creator of Nifty GUI: Question about the future of nifty-gui · Issue #474 · nifty-gui/nifty-gui · GitHub


The unfortunate part from further conversation: “I got interested in Nifty because it seemed to be the de facto GUI library for jMonkey”

I think some steps have been made to remove this “feeling” but still unfortunate that folks are dumped right into the less supported (arguably also harder) way.


need promote Lemur more in site? idk.

1 Like

Lemur (or any other UI library that comes along) has an uphill climb to overcome the “Nifty is the preferred way” misconception when nifty is shipped with core, first in the wiki, etc…

Seems a bit presumptuous of me (the author of Lemur) to be the one that eradicates references to Nifty everywhere and moves them to “Legacy unsupported” sections.

1 Like

Is stopping shipping anything the answer?

If it feels politically dangerous would a vote help?

I fell into the nifty trap myself so would be in the “remove” camp. (Eventually rewriting into javaFX, although in retrospect I should have looked more closely at lemur)

1 Like

“Nifty is the official GUI for the engine”, says the wiki followed by a tutorial of how to create user interfaces using Nifty GUI.

Now that Nifty is pretty much dead, perhaps it’s time to replace that tutorial with an introduction do Lemur and maybe make it the new official.


Anyone with access to this Forum can submit a PR to update the Wiki.

How about this Deemphasis nifty by richardTingle · Pull Request #135 · jMonkeyEngine/wiki · GitHub

Still mentioning nifty but less glowingly