{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreidu7gul2b6dsocm5sgmitic6kzdgqcqxnjwpuumnhjiq5t3ww63ni",
    "uri": "at://did:plc:dxjzgxe7cvirxkwfjr2tjspt/app.bsky.feed.post/3mo3fsakpsuj2"
  },
  "path": "/t/vlog-03-integrating-dear-imgui-1-92-0-with-latest-jme3-initial-findings-traps-and-architecture-choices/49616#post_7",
  "publishedAt": "2026-06-12T07:40:40.000Z",
  "site": "https://hub.jmonkeyengine.org",
  "tags": [
    "@ndebruyn",
    "@Override"
  ],
  "textContent": "Hi @ndebruyn , I’m glad you tried out the project!\n\nThe `osName.contains('linux’)` condition in the `build.gradle` file probably isn’t enough to identify your OS.\n\n\n    def osName = System.getProperty('os.name').toLowerCase()\n    def isWindows = osName.contains('win')\n    def isMac = osName.contains('mac') || osName.contains('darwin')\n    def isLinux = osName.contains('linux')\n\n\nTry replacing the dependencies section with this:\n\n\n    dependencies {\n        // jMonkeyEngine\n        implementation \"org.jmonkeyengine:jme3-core:${jmeVersion}\"\n        implementation \"org.jmonkeyengine:jme3-desktop:${jmeVersion}\"\n        implementation \"org.jmonkeyengine:jme3-lwjgl3:${jmeVersion}\"\n        runtimeOnly \"org.jmonkeyengine:jme3-awt-dialogs:${jmeVersion}\"\n\n        // ImGui Java\n        implementation \"io.github.spair:imgui-java-app:${imguiVersion}\"\n        implementation \"io.github.spair:imgui-java-binding:${imguiVersion}\"\n\n        // Native libraries (multi-platform)\n        //runtimeOnly \"io.github.spair:imgui-java-natives-windows:${imguiVersion}\"\n        runtimeOnly \"io.github.spair:imgui-java-natives-linux:${imguiVersion}\"\n        //runtimeOnly \"io.github.spair:imgui-java-natives-macos:${imguiVersion}\"\n    }\n\n\nndebruyn:\n\n> This is wonderful work, very good job with this.\n>\n> 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?\n\nYes, 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.\n\n\n        @Override\n        public void simpleInitApp() {\n\n            boolean useGlfwBackend = true;\n            ImGuiAppState imgui = new ImGuiAppState( useGlfwBackend ); // <--\n            stateManager.attach(imgui);\n            ...\n        }\n\n\nLet me know if you have any other questions",
  "title": "Vlog 03: Integrating Dear ImGui (1.92.0+) with latest jME3: Initial Findings, Traps, and Architecture Choices"
}