NetImgui / extension-netimgui

We’ve been using extension-imgui / Dear ImGUI for some time, but interacting with debug menus on a phone is fiddly - they obscure the game, and it’s easy to click the wrong thing.

I recently became aware of NetImgui which magically intercepts Dear ImGUI function calls and allows the content to be displayed and controlled from a separate window or on a different machine ( this is called the Server app). Any interactions you make still take effect within your game.

This is now available through extension-netimgui

Setup is pretty straightforward. Use extension-imgui as normal, but with a couple of calls, you can either connect to a Server app at a specified IP, or allow incoming connections, and the content will move to the Server app.

The Server app needs to be built from source - see instructions in the Netimgui repository.

To illustrate: this is the extension-imgui example:

and this is the NetImgui server window after a network connection is established:


This is really powerful stuff! I think there’s a lot of potential in building debug and dev tools using the imgui extension, and with netimgui it also becomes useful on mobile!


One example I’ve been working on is a tool to inspect & modify GUI hierarchies. You pass it a node id, and it iterates over the hierarchy using gui.get_tree(). You can change the position, size and text of any node. I’ll share the code when I’ve developed it further (I need to improve my imgui layout skills!)


That’s interesting! And will it generate an updated .gui file or how does it work?

No, I wish it could do that! It’s just a toy really right now, but a lot of our GUIs look very different at runtime compared to in the editor, because we instantiate a lot of items programatically / from templates, so it’s useful to be able to see the true hierarchy.

1 Like

When I first posted this, the Netimgui server app only came with instructions for building on Windows, but yesterday I opened a PR for generating an Xcode project, which has now been accepted, so take a look if you’re a Mac user.