External Publication
Visit Post

Vlog 03: Integrating Dear ImGui (1.92.0+) with latest jME3: Initial Findings, Traps, and Architecture Choices

jMonkeyEngine Hub June 12, 2026
Source

Hi @ndebruyn , I’m glad you tried out the project!

The osName.contains('linux’) condition in the build.gradle file probably isn’t enough to identify your OS.

def osName = System.getProperty('os.name').toLowerCase()
def isWindows = osName.contains('win')
def isMac = osName.contains('mac') || osName.contains('darwin')
def isLinux = osName.contains('linux')

Try replacing the dependencies section with this:

dependencies {
    // jMonkeyEngine
    implementation "org.jmonkeyengine:jme3-core:${jmeVersion}"
    implementation "org.jmonkeyengine:jme3-desktop:${jmeVersion}"
    implementation "org.jmonkeyengine:jme3-lwjgl3:${jmeVersion}"
    runtimeOnly "org.jmonkeyengine:jme3-awt-dialogs:${jmeVersion}"

    // ImGui Java
    implementation "io.github.spair:imgui-java-app:${imguiVersion}"
    implementation "io.github.spair:imgui-java-binding:${imguiVersion}"

    // Native libraries (multi-platform)
    //runtimeOnly "io.github.spair:imgui-java-natives-windows:${imguiVersion}"
    runtimeOnly "io.github.spair:imgui-java-natives-linux:${imguiVersion}"
    //runtimeOnly "io.github.spair:imgui-java-natives-macos:${imguiVersion}"
}

ndebruyn:

This is wonderful work, very good job with this.

I see your tests here is with jME3.10+, does it only work with that version of jME or does it support earlier versions of jME as well?

Yes, the project is compatible with previous versions of jME (including v3.9.0). However, since the backend of previous versions is based on GLFW, remember to set the corresponding boolean flag useGlfwBackend to true in the ImGuiAppState constructor.

    @Override
    public void simpleInitApp() {

        boolean useGlfwBackend = true;
        ImGuiAppState imgui = new ImGuiAppState( useGlfwBackend ); // <--
        stateManager.attach(imgui);
        ...
    }

Let me know if you have any other questions

Discussion in the ATmosphere

Loading comments...