Skip to content

Bindings

omar edited this page Oct 9, 2024 · 192 revisions

(we had to turn off wiki editing, see Home for details. you may post meaningful wiki diff in issues)

Index

Binding Generators

cimgui

https://github.com/cimgui/cimgui (2015-2024)
Output C API + output metadata (see generator/output/ folder) which can be used to automatically generate other bindings.
(Important: if your generator uses cimgui with imgui_internal.h parsing: both imgui.h and imgui_internal.h contents are output in the same file! PLEASE use the "location" metadata to detect internal contents and expose them differently to your users (e.g. separate namespace). Please do not expose internal contents to your users without them knowing about it!)

dear_bindings

https://github.com/dearimgui/dear_bindings (2021-2024)
Dear Bindings generates a C API for Dear ImGui, and metadata so other languages can easily generate their own bindings on top.
Can parse imgui.h, imgui_internal.h etc. and generate neatly decorated C versions (full comments, alignment).

litgen

https://pthom.github.io/litgen (2022-2024)
litgen is an automatic bindings generator from C++ to Python. It emits binary bindings and preserves the original documentation in a python stub (comparable to a C header file): compare imgui.h to its python translation. It can produce bindings for Dear ImGui and other libraries. It is used to maintain up to date bindings inside Dear ImGui Bundle (link).


Language Bindings

Note: those bindings may be more or less maintained, more or less close to the spirit of original API. People who create language bindings sometimes haven't used the C++ API themselves. Dear ImGui was designed for C++ and some of the subtleties may be lost in translation with other languages. If your language supports it, I would suggest replicating the function overloading and default parameters used in the original, else the API may be harder to use. In doubt, always check the original C++ version first!

Now on to the list...

Beef

C

C#/.Net

C++17

  • ImGuiWrapper: CMakeList wrapper and C++17 RAII encapsulation for accessing Imgui

ChaiScript

CovScript

Crystal

D

Go

Haskell

Haxe

Java

JavaScript

Julia

Kotlin

Lobster

Lua

Nim

Odin

Pascal

PureBasic

Python

ReaScript

Ruby

Rust

Swift

Zig

Framework/Engine Backends

Main repository include examples for DirectX9, DirectX10, DirectX11, DirectX12, Metal, OpenGL2/3, Vulkan, SDL_Renderer, iOS, WebGPU, using frameworks such as GLFW, SDL2, Win32, GLUT, Android, OSX/Cocoa, Allegro. See examples/ and BACKENDS.md for details.

Other backends:

Framework Project
AGS / Adventure Game Studio agsimgui:
https://github.com/ericoporto/agsimgui
Amethyst amethyst-imgui:
https://github.com/amethyst/amethyst-imgui
Blender BlenderImgui:
https://github.com/eliemichel/BlenderImgui
bsf bsfimgui:
https://github.com/pgruenbacher/bsfImgui
Cinder Cinder-ImGui:
https://github.com/cinder/Cinder/blob/master/include/cinder/CinderImGui.h
Cocos2d-x imguix:
https://github.com/c0i/imguix
cocos2dx-imgui:
https://github.com/Mjarkiew/cocos2dx-imgui, https://github.com/Xrysnow/cocos2d-x-imgui and #551
ImGui for axmol:
https://github.com/axmolengine/axmol/tree/dev/extensions/ImGui
Defold extension-imgui:
https://github.com/britzl/extension-imgui
Diligent Engine DiligentTools:
DiligentTools, example
Ebiten ebiten-imgui:
https://github.com/gabstv/ebiten-imgui
Flexium FlexGUI:
https://github.com/DXsmiley/FlexGUI
GLEQ Event processing:
#3034
GML / GameMaker Studio 2 ImGuiGML:
https://marketplace.yoyogames.com/assets/6221/imguigml
ImGui_GM:
https://nommiiin.itch.io/imgui-gm / https://github.com/nommiin/ImGui_GM
Godot imgui-godot:
https://github.com/pkdawson/imgui-godot
godot-dear-imgui:
https://github.com/Blackdrop-Interactive-AB/godot-dear-imgui
GTK3 + OpenGL3 imgui_impl_gtk3:
Unmerged PR: #2032
Irrlicht Engine IrrIMGUI:
https://github.com/Armmegon/Irrlicht-ImGui
JUCE imgui_juce:
https://github.com/Krasjet/imgui_juce
LÖVE+LUA love-imgui:
https://github.com/slages/love-imgui
love-imgui (fork):
https://github.com/MikuAuahDark/love-imgui
LuaJIT-ImGui (ffi):
https://github.com/sonoro1234/LuaJIT-ImGui
cimgui-love (ffi):
https://codeberg.org/apicici/cimgui-love
Mach engine mach/imgui:
https://github.com/machlibs/imgui
Magnum magnum-integration:
https://github.com/mosra/magnum-integration, doc, example
Marmalade imgui_impl_marmalade:
backend + example
Monogame ImGui.NET for MonoGame:
https://github.com/roy-t/ImGui.NET
NanoRT imgui_impl_raytrace:
https://github.com/syoyo/imgui/tree/nanort/examples/raytrace_example
nCine nCine Out-of-the-box integration:
https://github.com/nCine/nCine and example 1, example 2
Nim Game Lib NimGL:
https://github.com/nimgl/nimgl
Nintendo 3DS (homebrew) libctru/libcitro3d:
https://github.com/mtheall/ftpd/tree/master/source/3ds
Nintendo Switch (homebrew) libnx/libdeko3d:
https://github.com/mtheall/ftpd/tree/master/source/switch
https://github.com/scturtle/imgui_deko3d_example
Nintendo Wii U (homebrew) wut/GX2:
https://github.com/GaryOderNichts/imgui
Ogre ogre-imgui:
https://github.com/OGRECave/ogre-imgui
openFrameworks ofxImGui:
https://github.com/jvcleave/ofxImGui
OpenSceneGraph/OSG imgui-osg:
https://github.com/Tordan/imgui-osg and older gist: https://gist.github.com/fulezi/d2442ca7626bf270226014501357042c
Orx ImGuiOrx:
https://github.com/thegwydd/ImGuiOrx (was #1843)
Photoshop Recipe: Custom UI for plug-ins using Dear ImGui:
https://sonictk.github.io/ps_cpp_recipes/#recipe:customuiforplug-insusingimgui
https://github.com/sonictk/ps_cpp_recipes
px_render px_render_imgui.h:
https://github.com/pplux/px/blob/master/px_render_imgui.h (was #1935)
raylib rlImGui:
https://github.com/raylib-extras/rlImGui
RGFW imgui_imp_rgfw.h:
https://github.com/ColleagueRiley/imgui_imp_rgfw.h/
Qt imgui-qt3d:
https://github.com/alpqr/imgui-qt3d

QQuickItem (qrhiimgui2):
Qt >= 6.4 https://github.com/alpqr/qrhiimgui2
Has a sample to integrate it in a QWindow if not using QtQuick. Supports imgui 1.87+

QQuickItem (qrhiimgui):
Qt >= 6 https://github.com/alpqr/qrhiimgui
Has a sample to integrate it in a QWindow if not using QtQuick.
IMPORTANT: Requires a patch merged in a newer version of Qt 6 in order to use it in QML. Consider using qrhiimgui2 instead.

QQuickItem (imgui-qtquick):
(OpenGL only, Qt 5+) https://github.com/alpqr/imgui-qtquick
QOpenGLWindow (qtimgui):
https://github.com/seanchas116/qtimgui
QtDirect3D:
https://github.com/giladreich/QtDirect3D
SDL_Renderer imgui_sdl:
https://github.com/Tyyppi77/imgui_sdl

We now have an official imgui_impl_sdlrenderer2 backend.
SFML imgui-sfml:
https://github.com/SFML/imgui-sfml
Sokol sokol-samples:
https://github.com/floooh/sokol-samples/blob/master/glfw/imgui-glfw.cc
Unity dear-imgui-unity:
https://github.com/realgamessoftware/dear-imgui-unity
uimgui:
https://github.com/psydack/uimgui
Unreal Engine UnrealImGui:
- original: https://github.com/segross/UnrealImGui (2017-2021)
- fork: https://github.com/benui-dev/UnrealImGui (2022-2023)
- fork: https://github.com/IDI-Systems/UnrealImGui (2022-2023)
- alt: https://github.com/sleeptightAnsiC/ImGui-for-Blueprints (2022)
VesCodes/ImGui (2023-2024) (w/ docking and multi-viewports)
https://github.com/VesCodes/ImGui
UnrealImGuiDocker (2023) (w/ docking and multi-viewports):
https://github.com/Sharundaar/UnrealImGuiDocker
UnrealEngine_ImGui (2017):
https://github.com/sronsse/UnrealEngine_ImGui
UnrealNetImgui (plugin for NetImgui, 2020-2024):
https://github.com/sammyfreg/UnrealNetImgui

Also see: Useful Extensions: Unreal Engine specific for: Cog, PropertyWatcher, UnrealImGuiTools etc.
UWP imgui-uwp:
https://github.com/ahmed605/imgui-uwp
https://github.com/ocornut/imgui/pull/6579
vtk imgui-vtk:
https://github.com/trlsmax/imgui-vtk
vtkDearImGUIInjector:
https://github.com/jspanchu/vtkDearImGUIInjector
vtkImGuiAdapter:
https://github.com/phcerdan/vtkImGuiAdapter
VulkanHpp ImGui-VulkanHpp:
https://github.com/takiyu/ImGui-VulkanHpp
VulkanSceneGraph vsgImGui:
https://github.com/vsg-dev/vsgImGui
vvvv VL.ImGui:
https://github.com/vvvv/VL.StandardLibs/tree/main/VL.ImGui
(Shipping with vvvv out-of-the-box)
Win32 GDI renderer imgui_impl_gdi:
Unmerged PR: #2724
WxWidgets wxImGuiCanvas.h:
https://github.com/ocornut/imgui/issues/1029

Miscellaneous

Software Renderers

Retained Frameworks over Dear ImGui

Ports, Rewrites, Clones

(notable rewrites or clones, those are not supported on this repository)

Javascript Port

Kotlin

Roblox

Clone this wiki locally