-
-
Notifications
You must be signed in to change notification settings - Fork 10.4k
Bindings
(we had to turn off wiki editing, see Home for details. you may post meaningful wiki diff in issues)
- Binding Generators
- Language Bindings (C, C#, Rust, Zig & many more)
- Framework/Engine Backends (Unreal, Unity, Godot & many more)
- Miscellaneous
- Ports, Rewrites, Clones
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!)
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).
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).
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...
-
imgui-beef: auto-generated Beef wrapper library for Dear ImGui
https://github.com/RogueMacro/imgui-beef
-
cimgui: auto-generated c-api wrapper for Dear ImGui
**(metadata output from cimgui can be used to automatically generate other bindings)**
https://github.com/cimgui/cimgui -
dear_bindings: auto-generated c-api wrapper for Dear ImGui
**(metadata output from cimgui can be used to automatically generate other bindings)**
https://github.com/dearimgui/dear_bindings
-
ImGui.NET: An ImGui wrapper for .NET Core
https://github.com/mellinoe/ImGui.NET -
DearImGui: imgui + implot for .NET + a controller for OpenGL (OpenTK)
https://github.com/aybe/DearImGui -
Hexa.NET.ImGui: A .NET wrapper for the Dear ImGui.
https://github.com/HexaEngine/Hexa.NET.ImGui
- ImGuiWrapper: CMakeList wrapper and C++17 RAII encapsulation for accessing Imgui
-
imgui-chaiscript: ChaiScript bindings for ImGui
https://github.com/JuJuBoSc/imgui-chaiscript
-
covscript-imgui: ImGui Extension for CovScript (Covariant)
https://github.com/covscript/covscript-imgui
-
crystal-imgui: Crystal bindings to Dear ImGui
https://github.com/oprypin/crystal-imgui
-
BindBC-ImGui: Static & dynamic bindings to Dear ImGui, compatible with BetterC, @nogc, and nothrow.
https://github.com/BindBC/bindbc-imgui -
DerelictImgui: Dynamic bindings to cimgui for the D programming language
https://github.com/Extrawurst/DerelictImgui
-
cimgui-go: Go wrapper library for "Dear ImGui"
https://github.com/AllenDang/cimgui-go
-
dear-imgui.hs: Haskell bindings to Dear ImGui,
https://github.com/haskell-game/dear-imgui.hs -
imgui-haskell: Haskell bindings for Dear ImGui
https://github.com/dbousamra/imgui-haskell
-
linc_imgui: binding for imgui (Haxe/hxcpp)
https://github.com/Aidan63/linc_imgui -
hlimgui: Heaps game engine binding for Dear ImGui
https://github.com/haddock7/hlimgui
-
jimgui: Pure Java binding for dear imgui
https://github.com/ice1000/jimgui -
imgui-java: JNI based binding for Dear ImGui
https://github.com/SpaiR/imgui-java
-
imgui-js: JavaScript bindings for Dear ImGui using Emscripten and TypeScript
https://github.com/flyover/imgui-js + also see web demo
-
CImGui.jl: Julia wrapper for cimgui
https://github.com/Gnimuc/CImGui.jL
-
kotlin-imgui: Kotlin bindings for Dear ImGui
https://github.com/Dominaezzz/kotlin-imgui
-
imgui.lobster:
http://strlen.com/lobster/
-
LuaJIT-ImGui: LuaJIT ffi binding for imgui and implementations
https://github.com/sonoro1234/LuaJIT-ImGui -
imgui_lua_bindings: imgui bindings for lua (also see LÖVE binding)
https://github.com/casssoft/imgui_lua_bindings (unmaintained)
https://github.com/megumumpkin/imgui_lua_bindings (up to date fork) -
lua-ffi-bindings: FFI bindings for LuaJIT
https://github.com/thenumbernine/lua-ffi-bindings -
sol2_imgui_bindings: ImGui bindings for Sol2
https://github.com/MSeys/sol2_ImGui_Bindings -
Gideros_ImGui: ImGui bindings for Gideros Studio
https://github.com/MultiPain/Gideros_ImGui
-
nim-imgui: cimgui bindings for Nim
https://github.com/nimgl/imgui
-
odin-imgui: Odin binding for Dear ImGui
https://gitlab.com/L-4/odin-imgui
-
imgui-pas: pascal bindings for imgui
https://github.com/dpethes/imgui-pas
-
pb-cimgui: PureBasic interface to CImGui Wrapper
https://github.com/hippyau/pb-cimgui
-
pyimgui: Cython-based Python bindings for dear imgui
https://github.com/swistakm/pyimgui -
Bimpy: Bundled imgui for python
https://github.com/podgorskiy/bimpy -
CyImGui: Python bindings for ImGui using Cython. (obsolete)
https://github.com/chromy/cyimgui -
Ogre-imgui:
https://github.com/OGRECave/ogre-imgui -
deargui: Python bindings for dear imgui, generated with clang and pybind11
https://github.com/cammm/deargui -
Dear ImGui Bundle: autogenerated bindings and stubs for ImGui (as well as ImPlot, ImGuizmo, node-editor, etc.)
https://github.com/pthom/imgui_bundle - Also see DearPyGui below for a RM-style framework.
-
ReaImGui: ReaScript binding and REAPER backend for Dear ImGui
https://forum.cockos.com/showthread.php?t=250419
-
ruby-imgui: Yet another ImGui wrapper for Ruby
https://github.com/vaiorabbit/ruby-imgui
-
imgui-rs: Rust bindings for ImGui
https://github.com/imgui-rs/imgui-rs -
imgui-rust: Alternative (personal) imgui rust bindings
https://github.com/nsf/imgui-rust -
ImStrv Patch Branch features/string_view to use string-range more commonly instead of zero-terminated strings.
https://github.com/ocornut/imgui/pull/3038 -
rust-imgui-opengl-renderer
https://github.com/michaelfairley/rust-imgui-opengl-renderer -
easy-imgui-rs: Rust crates to build full GUI applications.
https://github.com/rodrigorc/easy-imgui-rs
-
SwiftGui: an experimental API inspired by SwiftUI declarative code, using Dear ImGui and running on OSX and iOS.
https://github.com/erickjung/SwiftGUI -
SwiftImGui: Swift wrapper around Dear imgui for macOS, iOS and linux
https://github.com/ctreffs/SwiftImGui -
Swift-imgui: Dear ImGui Swift Wrapper API for macOS and iOS
https://github.com/mnmly/Swift-imgui
-
zig-gamedev/zgui: Easy to use dear imgui bindings (includes ImPlot)
https://github.com/michal-z/zig-gamedev/blob/main/libs/zgui -
Zig-ImGui: Zig bindings for ocornut/imgui, generated using cimgui/cimgui
https://github.com/SpexGuy/Zig-ImGui -
zig-imgui: ImGui bindings for Zig, generated using dear bindings
https://github.com/pdoane/zig-imgui -
zig_workbench
https://github.com/DarknessFX/zig_workbench
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.
- amethyst-imgui: https://github.com/amethyst/amethyst-imgui
- BlenderImgui: https://github.com/eliemichel/BlenderImgui
- 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
- extension-imgui: https://github.com/britzl/extension-imgui
- DiligentTools: DiligentTools, example |
- ebiten-imgui: https://github.com/gabstv/ebiten-imgui
- Event processing: #3034
- ImGuiGML: https://marketplace.yoyogames.com/assets/6221/imguigml
-
ImGui_GM: https://nommiiin.itch.io/imgui-gm / https://github.com/nommiin/ImGui_GM
- Dear ImGui seems integrated in recent versions of GameMaker Studio.
- imgui-godot: https://github.com/pkdawson/imgui-godot
- godot-dear-imgui: https://github.com/Blackdrop-Interactive-AB/godot-dear-imgui
- imgui_impl_gtk3: Unmerged PR: #2032
- imgui_juce: https://github.com/Krasjet/imgui_juce
- 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/imgui: https://github.com/machlibs/imgui
- magnum-integration: https://github.com/mosra/magnum-integration, doc, example
- ImGui.NET for MonoGame: https://github.com/roy-t/ImGui.NET
- imgui_impl_raytrace: https://github.com/syoyo/imgui/tree/nanort/examples/raytrace_example
- nCine Out-of-the-box integration: https://github.com/nCine/nCine and example 1, example 2
- libctru/libcitro3d: https://github.com/mtheall/ftpd/tree/master/source/3ds
-
libnx/libdeko3d: https://github.com/mtheall/ftpd/tree/master/source/switch
https://github.com/scturtle/imgui_deko3d_example
- ogre-imgui: https://github.com/OGRECave/ogre-imgui
- ofxImGui: https://github.com/jvcleave/ofxImGui
- imgui-osg: https://github.com/Tordan/imgui-osg and older gist: https://gist.github.com/fulezi/d2442ca7626bf270226014501357042c
- ImGuiOrx: https://github.com/thegwydd/ImGuiOrx (was #1843)
- 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_imgui.h: https://github.com/pplux/px/blob/master/px_render_imgui.h (was #1935)
- imgui_imp_rgfw.h: https://github.com/ColleagueRiley/imgui_imp_rgfw.h
- 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
imgui_sdl: https://github.com/Tyyppi77/imgui_sdl- We now have an official imgui_impl_sdlrenderer2 backend.
- imgui-sfml: https://github.com/SFML/imgui-sfml
- thread #8089: https://github.com/ocornut/imgui/issues/8089
- dear-imgui-unity: https://github.com/realgamessoftware/dear-imgui-unity
- uimgui: https://github.com/psydack/uimgui
-
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.
- imgui-uwp: https://github.com/ahmed605/imgui-uwp, https://github.com/ocornut/imgui/pull/6579
- imgui-vtk: https://github.com/trlsmax/imgui-vtk
- vtkDearImGUIInjector: https://github.com/jspanchu/vtkDearImGUIInjector
- vtkImGuiAdapter: https://github.com/phcerdan/vtkImGuiAdapter
- ImGui-VulkanHpp: https://github.com/takiyu/ImGui-VulkanHpp
- vsgImGui: https://github.com/vsg-dev/vsgImGui
- VL.ImGui: https://github.com/vvvv/VL.StandardLibs/tree/main/VL.ImGui (shipping with vvvv out-of-the-box)
- imgui_impl_gdi: Unmerged PR: #2724
- wxImGuiCanvas.h: https://github.com/ocornut/imgui/issues/1029
-
imgui_software_renderer
https://github.com/emilk/imgui_software_renderer | -
ImFastRast
https://github.com/malamanteau/ImFastRast | -
ImSoft
https://github.com/LAK132/ImSoft | -
ImDuino
https://github.com/LAK132/ImDuino |
-
DearPyGui A retained framework build over Dear ImGui
https://github.com/hoffstadt/DearPyGui -
Omniverse Kit
https://www.nvidia.com/en-us/omniverse/
(notable rewrites or clones, those are not supported on this repository)
-
imgui-njs: imgui-njs is a manual-port / partial-rewrite of dear imgui
https://github.com/cannerycoders/imgui-njs
-
dear jvm imgui: full JVM port/rewrite
https://github.com/kotlin-graphics/imgui
-
Iris: Iris is an Immediate mode GUI Library for Roblox, Based on Dear ImGui
https://github.com/Michael-48/Iris