Godot: dear imgui (ImGui) Integration

Created on 14 Jul 2016  Â·  11Comments  Â·  Source: godotengine/godot

Hi. So I came across this images (at the bottom) that use imgui for quick debugging in game. I'm been looking into imgui and it seems to be a really nice approach to test stuff in game. Like switching states in a FSM, scroll-bars for, I don't know, setting a scale or the health. You name it it, I think they are really useful.

I know you guys are already very busy. But I just wanted to drop this idea in here.

Here is dear imgui which is "Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies" and uses MIT License. So since it's in C++, would it be difficult to integrate it into godot? (I really don't know)

Anyways, what you guys think?


(ignore the shapes...)

archived feature proposal core editor

Most helpful comment

Unity is not completely getting rid of it, they still use this approach in editor tools. One advantage of this technique is that you can directly bind game states to a form (inspector) in a single line of code rather than callbacks and wiring and retained-style widgets, making it a weapon of choice for debugging and tweaking. There might be a way to use Godot's GUI this way thought. ImGUI doesn't replaces it. You basically have to see this as a "super-debug-draw" framework :p
(the issue is archived but nobody seems to highlight this point about ImGUI)

All 11 comments

so you want to replace godot's GUI with this imGUI ?

don't we already have this via live editing?

On 14 July 2016 at 14:33, AngegaStudios [email protected] wrote:

Hi. So I came across this images (at the bottom) that use imgui for quick
debugging in game. I'm been looking into imgui and it seems to be a really
nice approach to test stuff in game. Like switching states in a FSM,
scroll-bars for, I don't know, setting a scale or the health. You name it
it, I think they are really useful.

I know you guys are already very busy. But I just wanted to drop this idea
in here.

Here is dear imgui https://github.com/ocornut/imgui which is
"Bloat-free Immediate Mode Graphical User interface for C++ with minimal
dependencies" and uses MIT License. So since it's in C++, would it be
difficult to integrate it into godot? (I really don't know)

Anyways, what you guys think?

https://camo.githubusercontent.com/8bad706d654f157b90d7357053f384c14ea6a405/68747470733a2f2f7062732e7477696d672e636f6d2f6d656469612f436e554e6d69795545414173624c442e6a7067
(ignore the shapes...)

https://camo.githubusercontent.com/b8ca3ca58226e2798fc66e3e973f2a69363e1c5b/68747470733a2f2f7062732e7477696d672e636f6d2f6d656469612f436e554f4e676157384141624a4e6b2e6a7067

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/5699, or mute the thread
https://github.com/notifications/unsubscribe/AGVmPfJ6XGOYSEiMCmhem_Sv4XCrpk6jks5qVnLagaJpZM4JMqvL
.

@SuperUserNameMan No. ImGui is more meant for doing testing in game on the fly (during runtime). For the game gui I would totally go with godot's GUI, there is nothing wrong with it.

@EdwardAngeles You can also quickly create using Godot GUI test window. it makes no sense to fasten another gooey system. although if you really need it, you can do it yourself as a module. possibly work.

Godot has great debugging tools built in, check the 'Debugger' tab at the bottom of the editor while running the game.
If you want something in game, you can easily build a debug window using Godot's Control nodes and add it e.g. as an AutoLoad node. Asset library should soon work nicely to share debug autoloads like that

I personally think that ImGui are really useful for making in-game tools.

the Imgui approach sucks, I' m sorry. Even Unity is getting rid of it.
You can also create a GUI and make a level on the fly in Godot during the running game with live editing.

So yeah... Been messing with godot's gui and they can totally do in-game tools and with the draw functions I can do graphs for visualizations. I suppose ImGui are more useful for game frameworks.

Anyways thank for hearing me out and the feedback. I guess I can close this issue.

Unity is not completely getting rid of it, they still use this approach in editor tools. One advantage of this technique is that you can directly bind game states to a form (inspector) in a single line of code rather than callbacks and wiring and retained-style widgets, making it a weapon of choice for debugging and tweaking. There might be a way to use Godot's GUI this way thought. ImGUI doesn't replaces it. You basically have to see this as a "super-debug-draw" framework :p
(the issue is archived but nobody seems to highlight this point about ImGUI)

@Zylann That's right. I just check unity's roadmap and they are even adding new feature to their IMGUI. I don't think IMGUI just "sucks", it's just a different approach.

dear imgui is really great, but Godot already has its own gui which works with the node system. You can always make a module for using imgui.

Was this page helpful?
0 / 5 - 0 ratings