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:

17 Likes

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!

5 Likes

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!)


2 Likes

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.

2 Likes