374 Home
omar edited this page 3 weeks ago
This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

Welcome to the Dear ImGui wiki! Feel free to edit and contribute!

New to Dear ImGui? Check out the Getting Started guide.


2024-07: Wiki editing is unfortunately disabled because it is the only way for this wiki to be indexed by search engines. I have submitted a suggestion to GitHub to workaround this problem: #133123. Please consider upvoting to help. GitHub is preventing search engines from indexing editable wikis. There are third-party crawlable mirrors (e.g. https://github-wiki-see.page/m/ocornut/imgui/wiki) but Google is doing a poor job surfacing the information. DuckDuckGo or Bing may occasionally do a better job, and the GitHub search bar exists. If you have meaningful Wiki edits to make you can checkout the Wiki git repo, make a change and submit it as a PR in main repo. We may need to move the Wiki elsewhere since GitHub is not cooperating by not allowing project owners to even e.g. add wiki editors.)


Index


General

General documentation

Community

Demo, Examples

  • About Examples apps (docs/EXAMPLES.md)
  • The examples/ folder contains 23 standalone example applications for varieties of platforms and frameworks.
  • The imgui_demo.cpp file has a ImGui::ShowDemoWindow() function which you can call from any imgui-enabled application to showcase variety of features. The demo function is called from all examples/ apps.
  • Third-party: @pthom's imgui_manual: web version of imgui_demo with interactive browsing of sources.

Language Bindings

Platform and Rendering Backends

Third-Party Extensions

  • List of useful third-party extensions/widgets: Text editors, node editors, plotting/graphing, curves/animations/gradients editors, file dialogs, knobs, spinners, toggles, layout, remoting, 3d gizmos, inspectors, and many more!

96738879-79ea1f80-13bf-11eb-8e96-97f4acc8b79d

Testing / Automation

203781606-6a544fed-1696-49ab-ba2f-12786d6871b0

Notable branches

Return to Index

Features

Debug Tools

  • See Debug Tools wiki page explaining ShowMetricsWindow(), ShowDebugLogWindow(), ShowIdStackToolWindow(), Item Picker..
  • See Error Handling wiki page about ways to configure error handling and state recovery.

Rendering Textures / Images

Fonts / Text

Tables

Multi-Select

Docking

Multi-viewports

Inputs

  • Search in Issues: inputs
  • 1.87 new IO event queue API #4921
  • Input / IO queue for very low framerate applications: gist

Return to Index

Miscellaneous

Building / Packaging Cruft

Third-party Frameworks, Templates, Starter Packs

(Please also check our examples/ folder in the repo, they work fine as starter apps!)

C/C++

C/C++, Python:

  • imgui_bundle: bundle including various powerful libraries [...] easily create ImGui applications in C++ and Python, under Windows, macOS, and Linux github/pthom/imgui_bundle (2022-2024)

Other:

Notable forks

Ports, Rewrites, Clones

Job Board

See https://github.com/ocornut/imgui/issues/5031 for industry job offers relating to use of Dear ImGui.

Return to Index

Articles, Videos

Articles/Videos About Dear ImGui

English

  • 2016-07: Using imgui with STL types blog [note that this article is now outdated: BeginCombo() api makes it natural to enumerate from any containers, InputText() supports resizing callbacks and imgui_stdlib.h provides wrapper for std::string]
  • 2016-10: CppCon 2016: Nicolas Guillemot “Dear imgui,": video.
  • 2017-03: Why I think Immediate Mode GUI is way to go for GameDev tools: post.
  • 2018-04: TheChernoProject: ImGui in OpenGL / ImGui Game Engine series / ImGui Events / Docking & Viewport
  • 2018-08: Mana Engine: Thread safety of APIs medium/tloch34
  • 2018-10: C++ DirectX 11 Engine Tutorial 35/36: Set up ImGui: Part 35, Part 36
  • 2019-01: Could ImGUI be the future of GUIs? games.greggman.com
  • 2019-03: Rust: Making a basic game ui with imgui and ggez blog
  • 2019-05: Frictionless Debug UI In C++: pdf
  • 2019-06: An introduction to the Dear ImGui library: blog.
  • 2019-08: Integrating Dear ImGui in a custom Vulkan renderer blog
  • 2020-02: Runtime Compiled C++ Dear ImGui and DX11 Tutorial: blog.
  • 2020-03: C++ Weekly - Ep 210: Getting Started With SFML & Dear ImGui youtube
  • 2020-03: C++ desktop application with Dear Imgui: blog
  • 2020-06: A Preface to the Dear ImGUI C++ Library: blog
  • 2020-09: A Vulkan + Dear ImGui Sandbox: blog
  • 2021-01: Gamefromscratch: Dear ImGui C++ GUI Framework For AAA Games and Game Engines youtube
  • 2021-02: Introduction to the Dear ImGui C++ Library with Conan: video, blog
  • 2021-04: Thinking in Immediate: video
  • 2021-05: ImGui-SFML: Using CMake and managing dependencies: blog
  • 2021-05: ImGui + GLFW Tutorial: video
  • 2022-02: BEST WAY to make Desktop Applications in C++: video
  • 2022-04: Make your own GUI apps in C++ (with Dear ImGui and Vulkan) video
  • 2022-05: Dear ImGui in Unreal Engine 5 with C++ video + followup
  • 2023-02: Dear ImGui for Unity - easiest GUI menus and bars video
  • 2023-07: Custom title bars (Make Beautiful Desktop Applications in C++) video
  • 2023-08: Dear IMGUI in C# .NET! Tutorial video
  • 2023-09: Leveraging Dear ImGui in Unreal: blog
  • 2023-09: Visual node graph with ImGui: blog
  • 2024-09: Debug BETTER with ImGui in Godot 4: video
  • 2024-11: Dear ImGui: Build a c++ debugger and editor | Jack Chen | NZGDC 2024: video

Korean

Japanese

Chinese (Trad)

French

  • 2020-11: Dear ImGui : une bibliothèque d'interface utilisateur graphique "bloat-free" pour C++ cpp.developpez.com

German

  • 2023-04: Interaktive GUI mit C++ und ImGui: Praktische Beispiele udemy.com/course

Portuguese

  • 2022-05: Como Criar Interfaces Gráficas com Dear ImGui e SFML video

Polish

About the IMGUI paradigm

Dear ImGui is one possible implementation of an idea generally described as the IMGUI (Immediate Mode GUI) paradigm. The Immediate Mode GUI paradigm may at first appear unusual to some users. This is mainly because "Retained Mode" GUIs have been so widespread and predominant. The following links can give you a better understanding about how Immediate Mode GUIs works.

Another notable uses of IMGUI paradigm include Unity's own IMGUI widget library, often informally referred to as OnGUI(), which powers the Unity editor and its extensions. This library is unrelated from Dear ImGui. The IMGUI library used by Unity has in the past received mixed feedback from its users, presumably because it may have been perceived as a potential candidate for game-facing UI solutions, which it doesn't excel at. However Unity has since provided separate libraries to tackle that case, and their IMGUI library is still very much in use for the Unity Editor and has been its UI backbone for the past 15+ years.

Return to Index