# imgui | omar | Knowledge Base | Instagit

Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

GitHub Stars: 74.6k

Repository: https://github.com/ocornut/imgui

---

## Articles

### [Creating Popup Modals and Context Menus in Dear ImGui: A Complete Guide](/ocornut/imgui/imgui-popup-modals-context-menus)

Master ImGui popup modals and context menus. Learn the three-step pattern OpenPopup BeginPopup CloseCurrentPopup for seamless UI overlays in this complete guide.

- Tags: how-to-guide
- Published: 2026-07-30

### [ImGuiContext vs ImGuiPlatformIO: Understanding the Key Differences in Dear ImGui](/ocornut/imgui/imgui-context-platformio-difference)

Understand ImGuiContext vs ImGuiPlatformIO differences in Dear ImGui. Learn how ImGuiContext holds UI state and ImGuiPlatformIO handles platform integration for developers.

- Tags: deep-dive
- Published: 2026-07-30

### [Handling IME for International Text Input in Dear ImGui: A Complete Guide](/ocornut/imgui/imgui-ime-international-text-input)

Master IME for international text input in Dear ImGui. This guide explains how platform backends handle OS composition events for CJK and complex script input.

- Tags: how-to-guide
- Published: 2026-07-30

### [Creating Custom Widgets for ImGui Layout System: A Complete Developer's Guide](/ocornut/imgui/imgui-custom-widgets-layout-system)

Learn to create custom ImGui widgets with this developer's guide. Understand the four key steps: unique IDs, ItemAdd(), ButtonBehavior(), and DrawList API for interactive ImGui layouts. Boost your ImGui development.

- Tags: how-to-guide
- Published: 2026-07-30

### [Integrating FreeType for Advanced Font Rendering in ImGui](/ocornut/imgui/imgui-freetype-advanced-font-rendering)

Upgrade ImGui font rendering with FreeType. Unlock advanced hinting, color glyphs, and SVG support for superior visual quality. Integrate FreeType today.

- Tags: how-to-guide
- Published: 2026-07-30

### [Understanding the ImGui ID Stack System for Resolving Widget ID Collisions](/ocornut/imgui/imgui-id-stack-widget-collisions)

Master ImGui ID Stack System to prevent widget ID collisions. Learn how PushID and PopID scopes allow identical labels for better UI management.

- Tags: internals
- Published: 2026-07-30

### [ImGui Drag and Drop Between Windows Implementation: Complete Guide](/ocornut/imgui/imgui-drag-drop-between-windows)

Implement ImGui drag and drop between windows with this complete guide. Learn how ImGui's global context state enables seamless cross-window payload transfers for your applications.

- Tags: how-to-guide
- Published: 2026-07-30

### [Using ImGui's Table API for Complex Layouts: A Complete Technical Guide](/ocornut/imgui/imgui-table-api-complex-layouts)

Master ImGui's table API for advanced UI layouts. Learn to build sophisticated interfaces with frozen panes, sortable headers, and nested tables. A complete technical guide.

- Tags: how-to-guide
- Published: 2026-07-30

### [How to Implement Multi-Window and Multi-Viewport in Dear ImGui](/ocornut/imgui/imgui-multi-window-multi-viewport)

Unlock ImGui multi window and multi viewport capabilities. Learn how to enable viewports easily with simple configuration flags and backend setup for a better UI experience.

- Tags: how-to-guide
- Published: 2026-07-30

### [Custom ImGui Memory Allocator Configuration for Engines](/ocornut/imgui/imgui-custom-memory-allocator-config)

Configure a custom ImGui memory allocator for your engine using SetAllocatorFunctions. Route ImGui heap operations through custom memory pools and trackers for precise control.

- Tags: how-to-guide
- Published: 2026-07-30

### [How to Implement a Custom Rendering Backend for Dear ImGui](/ocornut/imgui/imgui-custom-rendering-backend)

Learn how to implement a custom rendering backend for Dear ImGui. Expose core functions, manage GPU resources, and translate draw data for your graphics API.

- Tags: how-to-guide
- Published: 2026-07-30

### [ImGui Immediate Mode GUI vs Retained Mode: Architecture and Performance Differences](/ocornut/imgui/imgui-immediate-vs-retained-mode)

Explore ImGui immediate mode GUI vs retained mode architecture and performance. Understand how ImGui rebuilds the UI each frame for efficient rendering and simpler code.

- Tags: architecture
- Published: 2026-07-30

### [How to Manage Clipboard Operations Across Platforms with Dear ImGui](/ocornut/imgui/manage-clipboard-operations-across-platforms-imgui)

Learn to manage clipboard operations across platforms with Dear ImGui. This guide explains how ImGuiPlatformIO simplifies text copying and pasting through platform-specific function pointers.

- Tags: how-to-guide
- Published: 2026-07-30

### [How Multi-Threading Works with Dear ImGui Contexts: 3 Safe Patterns](/ocornut/imgui/multi-threading-with-imgui-contexts)

Learn how multi-threading works with Dear ImGui contexts. Discover 3 safe patterns including synchronization, data staging, and thread-local storage for efficient rendering.

- Tags: internals
- Published: 2026-07-30

### [How to Use InputText Callbacks for Custom Text Processing in Dear ImGui](/ocornut/imgui/use-inputtext-callbacks-custom-text-processing)

Learn to use Dear ImGui InputText callbacks for custom text processing. Intercept edits, filter characters, and manipulate buffers with ImGuiInputTextCallbackData.

- Tags: how-to-guide
- Published: 2026-07-30

### [How to Extend Dear ImGui with Custom Widgets: A Complete Guide to the Internal API](/ocornut/imgui/extend-imgui-custom-widgets)

Extend Dear ImGui with custom widgets easily. Learn to use the internal API for unique IDs, bounding boxes, interactions, and rendering without core library changes.

- Tags: how-to-guide
- Published: 2026-07-30

### [How to Implement Drag and Drop Functionality in Dear ImGui: A Complete API Guide](/ocornut/imgui/implement-drag-and-drop-functionality-imgui)

Learn to implement drag and drop functionality in Dear ImGui. Master BeginDragDropSource, SetDragDropPayload, and BeginDragDropTarget with this complete guide for seamless UI interactions.

- Tags: api-reference
- Published: 2026-07-30

### [How to Use Dear ImGui Tables API (BeginTable) for Complex Layouts](/ocornut/imgui/use-tables-api-begintable-complex-layouts)

Master complex layouts with Dear ImGui's Tables API and BeginTable. Explore scrolling, sorting, nested tables, and per-cell formatting for a modern grid system.

- Tags: how-to-guide
- Published: 2026-07-30

### [How to Use ImGuiListClipper for Efficient Virtual Scrolling Lists](/ocornut/imgui/use-imguilistclipper-efficient-virtual-scrolling-lists)

Learn to use ImGuiListClipper for efficient virtual scrolling lists in your ImGui applications. Drastically reduce ImGui calls from millions to dozens per frame by rendering only visible items.

- Tags: how-to-guide
- Published: 2026-07-30

### [How to Enable Gamepad Navigation in Dear ImGui](/ocornut/imgui/enable-gamepad-navigation-imgui)

Learn to enable gamepad navigation in Dear ImGui. Set the NavEnableGamepad flag and forward input events for seamless controller support in your ImGui applications.

- Tags: how-to-guide
- Published: 2026-07-30

### [How to Enable Keyboard Navigation in Dear ImGui: Complete Implementation Guide](/ocornut/imgui/enable-keyboard-navigation-imgui)

Easily enable keyboard navigation in Dear ImGui by setting the NavEnableKeyboard flag in ImGuiIO. This guide offers a complete implementation for your applications.

- Tags: how-to-guide
- Published: 2026-07-30

### [How to Handle DPI Scaling in Dear ImGui Applications: A Complete Implementation Guide](/ocornut/imgui/handle-dpi-scaling-imgui-applications)

Master DPI scaling in Dear ImGui. Learn the three-layer architecture application developers must implement for seamless scaling, from OS awareness to font and style adjustments.

- Tags: how-to-guide
- Published: 2026-07-30

### [How to Load and Use Multiple Fonts with ImFontAtlas in Dear ImGui](/ocornut/imgui/load-use-multiple-fonts-imfontatlas)

Master loading multiple fonts in Dear ImGui. Learn to use ImFontAtlas, AddFontFromFileTTF, configure ImFontConfig, and build your font atlas for stunning UI. Boost your projects today.

- Tags: how-to-guide
- Published: 2026-07-30

### [How to Customize Window Appearance Using ImGuiWindowFlags: A Complete Guide](/ocornut/imgui/customize-window-appearance-imguiwindowflags)

Master ImGuiWindowFlags to customize ImGui window appearance, sizing, and input. This guide details every flag for ultimate control over your UI.

- Tags: how-to-guide
- Published: 2026-07-30

### [How to Enable Docking in Dear ImGui Applications: Complete Implementation Guide](/ocornut/imgui/enable-docking-imgui-applications)

Enable docking in Dear ImGui applications with this complete implementation guide. Learn to set config flags and call DockSpace for an organized window layout.

- Tags: how-to-guide
- Published: 2026-07-30

### [How to Implement Multi-Viewport Support in Dear ImGui: A Complete Guide](/ocornut/imgui/implement-multi-viewport-support-imgui)

Implement multi-viewport support in Dear ImGui easily. Learn to enable viewports and configure backends in this complete guide. Boost your application's UI flexibility.

- Tags: how-to-guide
- Published: 2026-07-30

### [How ImGuiIO Configuration Controls Input Handling and Frame Timing in Dear ImGui](/ocornut/imgui/imguiio-configuration-affect-input-timing)

Master ImGuiIO configuration to control input handling and frame timing in Dear ImGui. Optimize your application's responsiveness and performance with our expert guide.

- Tags: internals
- Published: 2026-07-30

### [How to Work with std::string and std::vector in Dear ImGui: A Complete Guide](/ocornut/imgui/work-with-string-vector-imgui)

Learn to integrate std::string and std::vector with Dear ImGui by including imgui_stdlib.h for seamless widget binding. Enhance your UI development with this complete guide.

- Tags: how-to-guide
- Published: 2026-07-30

### [How to Integrate Custom Math Types like glm::vec2 with Dear ImGui](/ocornut/imgui/integrate-custom-math-types-glm-vec2-imgui)

Seamlessly integrate glm::vec2 and custom math types with Dear ImGui. Learn how to adapt your vectors for powerful UI development without modifying imgui source code.

- Tags: how-to-guide
- Published: 2026-07-30

### [How to Use Math Operators with ImVec2 and ImVec4 in Dear ImGui](/ocornut/imgui/math-operators-with-imvec2-imvec4)

Learn to use math operators with ImVec2 and ImVec4 in Dear ImGui by defining IMGUI_DEFINE_MATH_OPERATORS. Perform vector arithmetic efficiently.

- Tags: how-to-guide
- Published: 2026-07-29

### [ImTextureID and ImTextureRef in Dear ImGui: A Complete Guide to Displaying Custom Images](/ocornut/imgui/imtextureid-imtextureref-display-custom-images)

Understand ImTextureID and ImTextureRef in Dear ImGui for displaying custom images. Learn how these handles simplify texture integration in your GUI applications.

- Tags: deep-dive
- Published: 2026-07-29

### [How to Use the Dear ImGui ImDrawList API to Render Custom Shapes](/ocornut/imgui/use-imdrawlist-api-render-custom-shapes)

Learn to draw custom shapes like lines, rectangles, and circles in Dear ImGui using the ImDrawList API. Access the vertex buffer and leverage Add methods for direct rendering.

- Tags: how-to-guide
- Published: 2026-07-29

### [How to Create a Custom Renderer Backend for Dear ImGui: A Complete Implementation Guide](/ocornut/imgui/create-custom-renderer-backend-imgui)

Learn to create a custom Dear ImGui renderer backend. Implement the Init NewFrame RenderDrawData and Shutdown functions to integrate ImGui with your graphics API for powerful UI rendering.

- Tags: how-to-guide
- Published: 2026-07-29

### [How to Create a Custom Platform Backend for Dear ImGui: A Complete Implementation Guide](/ocornut/imgui/create-custom-platform-backend-imgui)

Learn to create a custom platform backend for Dear ImGui. Implement window management and input handling to separate concerns and manage platform resources effectively for your application.

- Tags: how-to-guide
- Published: 2026-07-29

### [How Dear ImGui's ID Stack System Works to Prevent Collisions](/ocornut/imgui/imgui-id-stack-system-avoid-collisions)

Learn how Dear ImGui's ID stack system prevents widget collisions. Discover how PushID and PopID create unique identifiers for seamless UI development.

- Tags: internals
- Published: 2026-07-29

### [How to Handle Mouse and Keyboard Input Dispatch Between Dear ImGui and Your Application](/ocornut/imgui/handle-mouse-keyboard-input-dispatch-imgui-application)

Learn to dispatch mouse and keyboard input between Dear ImGui and your app. Initialize a platform backend, forward events to ImGuiIO, and chain custom callbacks for seamless integration.

- Tags: how-to-guide
- Published: 2026-07-29

### [Dear ImGui Troubleshooting Common Issues: Complete Debugging Guide](/ocornut/imgui/dear-imgui-troubleshooting-common-issues)

Troubleshoot common Dear ImGui issues. Learn to fix backend initialization, context management, and IO flag problems for smoother UI development. Get your Dear ImGui running correctly.

- Tags: how-to-guide
- Published: 2026-07-28

### [How to Build Dear ImGui from Source: Complete Guide for All Platforms](/ocornut/imgui/how-to-build-dear-imgui-from-source)

Learn how to build Dear ImGui from source with this complete cross-platform guide. Compile core files and backends for a smooth integration process.

- Tags: how-to-guide
- Published: 2026-07-28

### [Dear ImGui Examples and Demos: A Complete Guide to Building Interactive UIs](/ocornut/imgui/dear-imgui-examples-and-demos)

Explore Dear ImGui examples and demos to master interactive UI development. Learn immediate-mode GUI implementation with OpenGL Vulkan and DirectX backends. Get the complete guide now.

- Tags: examples
- Published: 2026-07-28

### [How to Manage Dear ImGui Memory Usage: Custom Allocators and Debug Tools](/ocornut/imgui/how-to-manage-dear-imgui-memory-usage)

Effectively manage Dear ImGui memory usage with custom allocators and debug tools. Optimize your application by implementing pool allocation and tracking.

- Tags: best-practices
- Published: 2026-07-28

### [How to Add Custom Widgets in Dear ImGui: A Complete Guide to the Core API](/ocornut/imgui/how-to-add-custom-widgets-in-dear-imgui)

Learn to add custom widgets in Dear ImGui using GetID ItemAdd and ButtonBehavior. Master the core API for seamless integration and enhanced UI development.

- Tags: how-to-guide
- Published: 2026-07-28

### [How to Customize Dear ImGui Style: Complete Guide to ImGuiStyle](/ocornut/imgui/how-to-customize-dear-imgui-style)

Master Dear ImGui style customization! Learn to modify ImGuiStyle globally, use temporary overrides with PushStyleColor/Var, or interactively edit with ShowStyleEditor.

- Tags: how-to-guide
- Published: 2026-07-28

### [Dear ImGui Licensing Guide: MIT License Terms and Commercial Use](/ocornut/imgui/dear-imgui-licensing-information)

Understand Dear ImGui licensing with our MIT License guide. Learn about free commercial use, terms, and copyright requirements. Get clarity on using Dear ImGui.

- Tags: licensing-guide
- Published: 2026-07-28

### [Is Dear ImGui Cross-Platform? Understanding Its Platform-Agnostic Architecture](/ocornut/imgui/is-dear-imgui-cross-platform)

Discover if Dear ImGui is cross-platform. Learn how its platform-agnostic architecture and optional backend modules ensure pure C++11 code compiles anywhere for seamless integration.

- Tags: deep-dive
- Published: 2026-07-28

### [Using Dear ImGui for Game Development Tools: Integration Guide and Examples](/ocornut/imgui/can-dear-imgui-be-used-for-game-development-tools)

Yes Dear ImGui excels in game development tools. This guide shows seamless integration for editors debuggers and profilers with examples. Bloat-free immediate-mode GUI.

- Tags: tutorial
- Published: 2026-07-28

### [How to Use Dear ImGui for Debugging in Games: Built-in Tools and Techniques](/ocornut/imgui/how-to-use-dear-imgui-for-debugging-in-games)

Learn to use Dear ImGui for game debugging with its built-in tools. Inspect UI state at runtime without external dependencies for efficient development.

- Tags: how-to-guide
- Published: 2026-07-28

### [What Is the Primary Application of Dear ImGui? Immediate-Mode GUI Architecture Explained](/ocornut/imgui/what-is-primary-application-of-dear-imgui)

Discover the primary application of Dear ImGui, an immediate mode GUI library for creating real-time tools and debug panels. Learn how its unique architecture rebuilds UIs from code each frame for efficient development.

- Tags: deep-dive
- Published: 2026-07-28

### [Dear ImGui Input Handling Integration: A Complete Technical Guide to Platform Backends](/ocornut/imgui/dear-imgui-input-handling-integration)

Master Dear ImGui input handling integration with this technical guide. Learn how platform backends populate raw events for seamless application control.

- Tags: deep-dive
- Published: 2026-07-28

### [How to Integrate Dear ImGui with SDL: Complete Setup Guide](/ocornut/imgui/how-to-integrate-dear-imgui-with-sdl)

Integrate Dear ImGui with SDL using the official imgui_impl_sdl2 backend and a renderer backend. Follow this guide for a complete setup and smooth integration.

- Tags: how-to-guide
- Published: 2026-07-28

### [How to Set Up Dear ImGui with Metal: Complete Integration Guide for macOS and iOS](/ocornut/imgui/how-to-set-up-dear-imgui-with-metal)

Integrate Dear ImGui with Metal on macOS and iOS. Follow our guide to initialize ImGui_ImplMetal_Init, create new frames with ImGui_ImplMetal_NewFrame, and render draw data efficiently.

- Tags: how-to-guide
- Published: 2026-07-28

### [How to Set Up Dear ImGui with DirectX 12: Complete Win32 Integration Guide](/ocornut/imgui/how-to-set-up-dear-imgui-with-directx-12)

Integrate Dear ImGui with DirectX 12 easily. Follow this guide to set up Win32 and DX12 backends for seamless rendering in your application.

- Tags: how-to-guide
- Published: 2026-07-28

### [How to Set Up Dear ImGui with Vulkan: Complete Implementation Guide](/ocornut/imgui/how-to-set-up-dear-imgui-with-vulkan)

Learn how to set up Dear ImGui with Vulkan using the official backend. This guide covers initialization and rendering steps for seamless integration.

- Tags: how-to-guide
- Published: 2026-07-28

### [How to Set Up Dear ImGui with OpenGL: Complete Integration Guide](/ocornut/imgui/how-to-set-up-dear-imgui-with-opengl)

Integrate Dear ImGui with OpenGL easily. Follow our guide to set up the ImGui context, OpenGL 3 renderer, and main loop for seamless UI rendering.

- Tags: how-to-guide
- Published: 2026-07-28

### [Minimum Requirements for Using Dear ImGui: Complete Setup Guide](/ocornut/imgui/what-are-minimum-requirements-for-using-dear-imgui)

Discover the minimum requirements for Dear ImGui. Learn how to set up your C++11 compiler, core files, and backends for immediate-mode GUI development.

- Tags: getting-started
- Published: 2026-07-28

### [How to Include Dear ImGui in a C++ Project: Complete Integration Guide](/ocornut/imgui/how-to-include-dear-imgui-in-c-project)

Learn how to include Dear ImGui in your C++ project with our complete integration guide. Embed this powerful GUI library by adding source files and selecting backends for seamless development.

- Tags: how-to-guide
- Published: 2026-07-28

### [Where to Find Dear ImGui Backends for Different Platforms and APIs](/ocornut/imgui/where-to-find-dear-imgui-backends)

Discover Where to Find Dear ImGui Backends for Various Platforms and APIs. Access all ImGui backends in the official ocornut/imgui repository's backends directory.

- Tags: getting-started
- Published: 2026-07-27

### [Performance Considerations for Dear ImGui: Optimization Guide and Best Practices](/ocornut/imgui/dear-imgui-performance-considerations)

Optimize Dear ImGui performance with this guide. Learn best practices to maintain high frame rates and avoid bottlenecks with efficient rendering and callback design.

- Tags: best-practices
- Published: 2026-07-27

### [What Are Draw Lists in Dear ImGui? Core Rendering Architecture Explained](/ocornut/imgui/what-are-draw-lists-dear-imgui)

Understand ImDrawList, the core rendering architecture in Dear ImGui. Learn how it collects vertex and index buffers and GPU draw commands to render widget geometry.

- Tags: internals
- Published: 2026-07-27

### [How to Integrate Dear ImGui with Vulkan: Complete Backend Setup Guide](/ocornut/imgui/integrate-dear-imgui-vulkan)

Learn to integrate Dear ImGui with Vulkan. This guide provides a complete backend setup, detailing initialization and rendering for seamless UI integration in your Vulkan applications.

- Tags: how-to-guide
- Published: 2026-07-27

### [How to Integrate Dear ImGui with OpenGL: Complete Implementation Guide](/ocornut/imgui/integrate-dear-imgui-opengl)

Learn to integrate Dear ImGui with OpenGL using the official backend. Follow this guide for a complete implementation, from initialization to rendering draw data, and enhance your graphics applications.

- Tags: how-to-guide
- Published: 2026-07-27

### [Dear ImGui Basic Widgets: Complete Guide to UI Controls](/ocornut/imgui/dear-imgui-basic-widgets)

Explore Dear ImGui basic widgets like buttons, sliders, and input fields. This guide covers essential UI controls for immediate-mode GUI development. Get started today.

- Tags: getting-started
- Published: 2026-07-27

### [What Is the Dear ImGui Docking Branch? Docking and Multi-Viewport Explained](/ocornut/imgui/what-is-dear-imgui-docking-branch)

Explore the Dear ImGui docking branch for advanced window docking and multi-viewport features. Drag and drop panels into flexible layouts and render UI across multiple windows.

- Tags: deep-dive
- Published: 2026-07-27

### [What Are ImGuiWindowFlags and How to Use Them in Dear ImGui](/ocornut/imgui/imguiwindowflags-usage)

Master ImGuiWindowFlags in Dear ImGui to control window behavior. Learn how to use these bit-field constants with ImGui::Begin() for custom UI elements.

- Tags: deep-dive
- Published: 2026-07-27

### [Dear ImGui Renderer Backends: Complete List and Integration Guide](/ocornut/imgui/dear-imgui-renderer-backends-list)

Explore Dear ImGui renderer backends, including DirectX, OpenGL, Metal, Vulkan, and WebGPU. Integrate these 13 official backends easily into your C++ applications. Get the complete list and guide today.

- Tags: api-reference
- Published: 2026-07-27

### [Dear ImGui Backend Responsibilities: Platform and Renderer Division of Labor](/ocornut/imgui/dear-imgui-backend-responsibilities)

Understand Dear ImGui backend responsibilities. Learn how backends translate platform input and convert draw data for GPU rendering. Optimize your UI integration.

- Tags: internals
- Published: 2026-07-27

### [How the Dear ImGui Backend System Is Structured: Platform and Renderer Architecture](/ocornut/imgui/dear-imgui-backend-system-structure)

Understand the Dear ImGui backend system platform and renderer architecture. Learn how it separates window management from graphics APIs using a four-function interface and ImGuiIO.

- Tags: architecture
- Published: 2026-07-27

### [Why Dear ImGui's Immediate Mode Paradigm Makes UI Development Faster and Safer](/ocornut/imgui/advantages-immediate-mode-paradigm-dear-imgui)

Explore Dear ImGui's immediate mode for faster, safer UI development. Eliminate hidden state and co-locate presentation logic with data for efficient C/C++ applications.

- Tags: deep-dive
- Published: 2026-07-27

### [How to Debug Layout Issues and Resolve Widget ID Conflicts in Dear ImGui](/ocornut/imgui/debug-layout-issues-widget-id-conflicts-imgui)

Debug Dear ImGui layout problems and widget ID conflicts. Learn to use debug overlays like ShowMetricsWindow and tools like PushID PopID for efficient issue resolution.

- Tags: how-to-guide
- Published: 2026-07-26

### [How to Customize and Theme Dear ImGui Using ImGuiStyle: A Complete Guide](/ocornut/imgui/customize-theme-visuals-imgui-imguistyle)

Customize Dear ImGui's look and feel with ImGuiStyle. Learn to modify colors spacing and sizing globally per widget or persist themes for unique application interfaces.

- Tags: how-to-guide
- Published: 2026-07-26

### [How to Implement Docking and Advanced Layout Customization in Dear ImGui](/ocornut/imgui/implement-docking-layout-customization-imgui)

Learn to implement Dear ImGui docking and advanced layout customization. Rearrange split and tab merge windows at runtime with this essential guide.

- Tags: how-to-guide
- Published: 2026-07-26

### [Immediate Mode GUI vs Retained Mode GUI: Architectural Differences Explained](/ocornut/imgui/immediate-mode-gui-vs-retained-mode-gui)

Understand immediate mode GUI vs retained mode GUI differences. IMGUI rebuilds interfaces each frame, while retained mode uses a persistent widget tree. Learn architectural distinctions.

- Tags: architecture
- Published: 2026-07-26

### [How to Create and Manage Popup Menus, Context Menus, and Modal Dialogs in Dear ImGui](/ocornut/imgui/create-popup-context-modal-dialogs-imgui)

Master Dear ImGui popup menus context menus and modal dialogs. Learn to create and manage them with BeginPopup OpenPopup and BeginPopupModal for efficient UIs.

- Tags: how-to-guide
- Published: 2026-07-26

### [How to Integrate Dear ImGui with Vulkan, DirectX 12, and Metal: A Complete Backend Guide](/ocornut/imgui/integrate-imgui-vulkan-directx-metal)

Integrate Dear ImGui with Vulkan, DirectX 12, and Metal using the backend guide. Learn how to initialize renderers and render frames efficiently for cross-API compatibility.

- Tags: how-to-guide
- Published: 2026-07-26

### [How to Implement Multi-Select Functionality for Lists and Items in Dear ImGui](/ocornut/imgui/implement-multi-select-imgui-lists)

Learn to implement multi select for lists in Dear ImGui using BeginMultiSelect API. Enables Ctrl click, Shift click range selection, and drag box select for improved UI interactivity.

- Tags: how-to-guide
- Published: 2026-07-26

### [How to Map and Use ImTextureID for Rendering Custom Images in Dear ImGui](/ocornut/imgui/map-us-imguitextureid-custom-images-imgui)

Learn how to map and use ImTextureID to render custom images in Dear ImGui. Understand texture handles and ImGui draw commands for seamless integration.

- Tags: how-to-guide
- Published: 2026-07-26

### [How to Handle IME (Input Method Editor) Input for International Text in Dear ImGui](/ocornut/imgui/handle-ime-input-international-text-imgui)

Learn how Dear ImGui handles IME input for international text seamlessly. Discover its platform abstraction layer and callbacks for efficient text input without extra code.

- Tags: how-to-guide
- Published: 2026-07-26

### [How to Serialize and Restore Dear ImGui UI State Using the INI File System](/ocornut/imgui/serialize-restore-ui-state-imgui-ini-file)

Learn to serialize and restore Dear ImGui UI state using its built-in INI file system. Control window positions, sizes, and table layouts with simple API calls.

- Tags: how-to-guide
- Published: 2026-07-26

### [How to Create Entirely New Custom Widget Types from Scratch in Dear ImGui](/ocornut/imgui/create-custom-widget-types-imgui)

Learn to create custom widget types from scratch in Dear ImGui. Master ItemSize, ItemAdd, ButtonBehavior, and ImDrawList to build unique UIs efficiently.

- Tags: how-to-guide
- Published: 2026-07-26

### [How to Optimize Performance for Large Lists in Dear ImGui Using ImGuiListClipper](/ocornut/imgui/optimize-performance-large-lists-imgui-listclipper)

Optimize large lists in Dear ImGui with ImGuiListClipper. Render only visible items, drastically cutting CPU overhead from off-screen elements. Boost your UI performance today.

- Tags: performance
- Published: 2026-07-26

### [How to Implement Undo and Redo Functionality for InputText Widgets in Dear ImGui](/ocornut/imgui/implement-undo-redo-imgui-inputtext)

Implement multi-step undo redo for Dear ImGui InputText widgets. Use ImGuiInputTextFlags_CallbackEdit and custom history stacks for advanced text editing.

- Tags: how-to-guide
- Published: 2026-07-26

### [How to Load and Use Custom Fonts with the Dear ImGui Font Atlas System](/ocornut/imgui/load-custom-fonts-imgui-font-atlas)

Easily load custom fonts with Dear ImGui's font atlas system. Learn how to configure ImFontConfig and add TTF files for unique UI typography in your applications.

- Tags: how-to-guide
- Published: 2026-07-26

### [How to Integrate Gamepad Navigation and Input Handling with Dear ImGui](/ocornut/imgui/integrate-gamepad-navigation-imgui)

Learn to integrate gamepad navigation and input with Dear ImGui. Enable ImGuiConfigFlags NavEnableGamepad and feed gamepad events for seamless control.

- Tags: how-to-guide
- Published: 2026-07-26

### [How to Implement Custom Memory Allocators for Dear ImGui](/ocornut/imgui/implement-custom-memory-allocators-imgui)

Learn how to implement custom memory allocators for Dear ImGui by replacing default functions. Optimize your Dear ImGui application's memory management efficiently.

- Tags: how-to-guide
- Published: 2026-07-26

### [How to Effectively Use the Dear ImGui Table API for Complex UI Layouts](/ocornut/imgui/use-imgui-table-api-complex-layouts)

Master the Dear ImGui table API for complex UI layouts. Learn to build scrollable, resizable grids with flexible sizing and explicit lifecycle functions. Elevate your UI design today.

- Tags: how-to-guide
- Published: 2026-07-26

### [How to Use ImDrawList for Custom Low-Level Rendering in Dear ImGui](/ocornut/imgui/use-imdrawlist-custom-rendering-imgui)

Learn to use ImDrawList for custom low-level rendering in Dear ImGui. Directly render primitives bypassing widgets with AddLine, AddRectFilled, and AddCallback.

- Tags: how-to-guide
- Published: 2026-07-26

### [How to Configure DPI Scaling and Handle High-DPI Displays in Dear ImGui](/ocornut/imgui/configure-dpi-scaling-imgui-high-dpi)

Learn to configure DPI scaling and handle high-DPI displays in Dear ImGui. Achieve crisp text and UI elements with easy steps for your application.

- Tags: how-to-guide
- Published: 2026-07-26

### [How to Implement Drag and Drop Between Widgets in Dear ImGui](/ocornut/imgui/implement-drag-drop-imgui-widgets)

Learn to implement drag and drop between widgets in Dear ImGui. Use BeginDragDropSource and BeginDragDropTarget to easily transfer data between UI elements.

- Tags: how-to-guide
- Published: 2026-07-26

### [How to Enable and Implement Multi-Viewport Support for Secondary ImGui Windows](/ocornut/imgui/enable-multi-viewport-imgui-secondary-windows)

Unlock multi-viewport support for secondary ImGui windows. Learn to enable viewport flags and update your main loop for seamless window management in your ImGui applications.

- Tags: how-to-guide
- Published: 2026-07-26

### [How to Manage Widget IDs and Prevent Collisions in Dear ImGui Using the ID Stack](/ocornut/imgui/manage-widget-ids-imgui-id-stack)

Learn to manage widget IDs and prevent collisions in Dear ImGui using the ID stack. Master PushID and PopID for organized UI development and avoid common errors.

- Tags: how-to-guide
- Published: 2026-07-26

### [How to Implement a Custom Dear ImGui Backend for Non-Standard Rendering APIs](/ocornut/imgui/custom-backend-imgui-non-standard-rendering-api)

Learn how to implement a custom Dear ImGui backend for non-standard rendering APIs. Initialize backend data, create shaders, and translate ImGui draw commands into your engine's API calls.

- Tags: how-to-guide
- Published: 2026-07-26

### [Dear ImGui Platform Backends Compared: GLFW vs SDL2 vs SDL3 vs Win32](/ocornut/imgui/imgui-platform-backends-comparison)

Compare Dear ImGui platform backends: GLFW, SDL2, SDL3, and Win32. Understand their OS support, input handling, and multi-viewport differences to choose the best fit for your project.

- Tags: deep-dive
- Published: 2026-07-25

### [How to Integrate Dear ImGui with Vulkan, DirectX 12, and Metal Graphics APIs](/ocornut/imgui/integrate-imgui-vulkan-directx12-metal)

Learn to integrate Dear ImGui with Vulkan, DirectX 12, and Metal graphics APIs. Follow simple steps to add backend files and update your render loop for seamless UI integration.

- Tags: how-to-guide
- Published: 2026-07-25

### [How to Serialize and Deserialize UI State Using Dear ImGui's .ini File System](/ocornut/imgui/imgui-serialize-deserialize-ui-state-ini-file)

Learn to serialize and deserialize UI state with Dear ImGui's .ini file system using LoadIniSettingsFromDisk and SaveIniSettingsToDisk for persistent window configurations.

- Tags: how-to-guide
- Published: 2026-07-25

### [How Dear ImGui's Input System Works: Keyboard, Mouse, and Gamepad Handling](/ocornut/imgui/imgui-input-system-keyboard-mouse-gamepad)

Discover how Dear ImGui's input system handles keyboard, mouse, and gamepad events. Learn how ImGuiIO processes user input for seamless integration.

- Tags: internals
- Published: 2026-07-25

### [How to Implement Custom Widget Types by Extending Dear ImGui](/ocornut/imgui/implement-custom-widgets-extending-imgui)

Learn to implement custom widget types in Dear ImGui by extending its core functionality. Generate unique IDs, handle interactions, register items, and render custom widgets efficiently.

- Tags: how-to-guide
- Published: 2026-07-25

### [How to Handle DPI Scaling and High‑DPI Displays in Dear ImGui](/ocornut/imgui/imgui-handle-dpi-scaling-high-dpi)

Master DPI scaling in Dear ImGui for crisp UI on high-DPI displays. Enable awareness, configure settings, and use display scale for sharp rendering on Retina and 4K monitors.

- Tags: how-to-guide
- Published: 2026-07-25

### [Optimizing Dear ImGui Performance with Large UI Hierarchies: Best Practices Guide](/ocornut/imgui/optimize-imgui-performance-large-ui)

Discover best practices for optimizing Dear ImGui performance with large UI hierarchies. Learn to use ImGuiListClipper, virtualize trees, and reduce CPU costs for smoother UIs.

- Tags: best-practices
- Published: 2026-07-25

### [How to Create Popup Modals, Context Menus, and Tooltips in Dear ImGui](/ocornut/imgui/create-popups-modals-tooltips-imgui)

Learn to create popup modals context menus and tooltips in Dear ImGui Discover the simple three-stage lifecycle for these lightweight window instances and get started today

- Tags: how-to-guide
- Published: 2026-07-25

### [How to Implement Drag and Drop Functionality Between Widgets Using ImGuiPayload](/ocornut/imgui/imgui-drag-and-drop-imguipayload)

Implement drag and drop functionality between widgets in ImGui using ImGuiPayload. Learn to initiate drags, set payloads, and accept them on target widgets for seamless UI interactions.

- Tags: how-to-guide
- Published: 2026-07-25

### [How to Use the Low-Level ImDrawList API to Render Custom Shapes in Dear ImGui](/ocornut/imgui/imguidrawlist-api-custom-shapes)

Master Dear ImGui custom shapes using the low-level ImDrawList API. Learn to render lines, circles, and rectangles directly by pushing vertices into the command buffer.

- Tags: how-to-guide
- Published: 2026-07-25

### [How to Enable the Dear ImGui Docking System in Your Application](/ocornut/imgui/enable-imgui-docking-system)

Learn to easily enable the Dear ImGui docking system in your application. Follow these simple steps to integrate the powerful docking feature for a better UI experience.

- Tags: how-to-guide
- Published: 2026-07-25

### [How Does the Dear ImGui Docking System Work? Implementation and Architecture Guide](/ocornut/imgui/dear-imgui-docking-system)

Discover how the Dear ImGui docking system works by building a runtime hierarchy of ImGuiDockNode structures. Learn about implementation and architecture for drag-and-drop, splitting, and tabbing.

- Tags: internals
- Published: 2026-07-25

### [How to Implement Multi-Viewport Support to Render Dear ImGui Windows on Multiple Monitors](/ocornut/imgui/implement-multi-viewport-imgui)

Learn to implement multi-viewport support for Dear ImGui, rendering windows across multiple monitors. Enable viewports, update your backend, and call essential ImGui functions each frame.

- Tags: how-to-guide
- Published: 2026-07-25

### [ImTextureID vs ImTextureRef in Dear ImGui: Complete API Reference and Migration Guide](/ocornut/imgui/imguitextureid-vs-imguitexureref)

Understand ImTextureID vs ImTextureRef in Dear ImGui. Learn about this low-level handle and higher-level wrapper for distinguishing texture sources in our complete API reference and migration guide.

- Tags: api-reference
- Published: 2026-07-25

### [How to Display Images Using ImTextureID in Dear ImGui](/ocornut/imgui/display-images-imguitextureid)

Learn how to display images with ImTextureID in Dear ImGui. Cast native GPU resources to ImTextureID and pass to ImGui::Image for immediate mode UI rendering.

- Tags: how-to-guide
- Published: 2026-07-25

### [How to Load and Use Custom Fonts with ImFontAtlas in Dear ImGui](/ocornut/imgui/load-use-custom-fonts-imguifontatlas)

Easily load and use custom fonts in Dear ImGui with ImFontAtlas. Learn how to AddFontFromFileTTF or AddFontFromMemoryTTF and Build your font atlas for unique UI.

- Tags: how-to-guide
- Published: 2026-07-25

### [How to Customize the Visual Appearance of Dear ImGui Using ImGuiStyle](/ocornut/imgui/customize-imgui-visual-appearance-imguistyle)

Learn to customize Dear ImGui appearance with ImGuiStyle. Modify colors, spacing, and sizes globally or per widget for a unique UI.

- Tags: how-to-guide
- Published: 2026-07-25

### [How to Create Multi-Column Layouts with Sorting and Resizing Using ImGui Tables](/ocornut/imgui/imgui-tables-multi-column-layouts)

Master ImGui Tables to build layouts with sorting and resizing. Learn to declare columns, set flags, and manage sort specs for dynamic data presentation. Enhance your UI now.

- Tags: how-to-guide
- Published: 2026-07-25

### [Avoiding ID Collisions in Dear ImGui: Complete Guide to Widget ID Management](/ocornut/imgui/imgui-avoid-id-collisions-widgets)

Master Dear ImGui widget ID management. Learn best practices to avoid label collisions and ensure unique IDs with PushID PopID and hidden suffixes.

- Tags: best-practices
- Published: 2026-07-25

### [How Dear ImGui's ID Stack System Works: A Complete Technical Guide](/ocornut/imgui/dear-imgui-id-stack-system)

Understand Dear ImGui's ID stack system. Learn how unique widget identifiers are generated, enabling multiple identical labels without state collisions.

- Tags: deep-dive
- Published: 2026-07-25

### [How to Implement a Custom Dear ImGui Backend for Your Rendering Engine](/ocornut/imgui/implement-custom-imgui-backend)

Learn to implement a custom Dear ImGui backend by mastering four key functions Init NewFrame RenderDrawData and Shutdown Translate ImGui draw data into your engine's rendering API commands

- Tags: how-to-guide
- Published: 2026-07-25

### [Dear ImGui Backend Architecture: How the Core and Backend Layers Interact](/ocornut/imgui/dear-imgui-backend-system-architecture)

Explore Dear ImGui's backend architecture. Learn how its core UI logic interacts with platform-specific code through backend modules utilizing ImGuiIO and ImDrawData for seamless integration.

- Tags: architecture
- Published: 2026-07-25

### [Difference Between ImTextureID and ImTextureRef in Dear ImGui](/ocornut/imgui/imgui-textureid-vs-textureref)

Understand the difference between ImTextureID and ImTextureRef in Dear ImGui. Learn how ImTextureRef enhances texture handling for your GPU applications.

- Tags: deep-dive
- Published: 2026-07-24

### [How to Implement Multi-Viewport Support in Dear ImGui: Complete Setup Guide](/ocornut/imgui/imgui-multi-viewport-support)

Master multi-viewport support in Dear ImGui with this guide. Learn to enable viewports, implement platform callbacks, and render secondary windows for enhanced UI flexibility.

- Tags: how-to-guide
- Published: 2026-07-24

### [Immediate Mode GUI vs Retained Mode: How Dear ImGui Rebuilds UI Every Frame](/ocornut/imgui/imgui-immediate-mode-vs-retained-mode-ui)

Discover how Dear ImGui's immediate mode GUI differs from retained mode. Learn how widgets are recreated every frame, storing state in your application, not UI controls. Optimize your UI development.

- Tags: deep-dive
- Published: 2026-07-24

### [How to Use ImGuiListClipper for Efficient Large List Rendering in Dear ImGui](/ocornut/imgui/use-imguilistclipper-render-large-lists)

Learn to use ImGuiListClipper for efficient large list rendering in Dear ImGui. Reduce CPU overhead from O(N) to O(V) for massive datasets with this essential helper class.

- Tags: how-to-guide
- Published: 2026-07-23

### [How to Implement Keyboard Shortcuts in ImGui: A Complete Guide to ImGuiKeyChord](/ocornut/imgui/implement-keyboard-shortcuts-imgui)

Learn to implement keyboard shortcuts in ImGui using ImGuiKeyChord and the Shortcut API. This guide covers routing focus detection and modifier combinations for efficient UI development.

- Tags: how-to-guide
- Published: 2026-07-23

### [BeginCombo vs Combo in ImGui: Key Differences and When to Use Each](/ocornut/imgui/imgui-begincombo-endcombo-vs-legacy-combo)

Discover the key differences between ImGui's BeginCombo and the legacy Combo function. Learn when to use each for custom dropdowns and flexible UI development.

- Tags: deep-dive
- Published: 2026-07-23

### [How to Troubleshoot Missing Text Squares When Integrating Dear ImGui](/ocornut/imgui/how-to-troubleshoot-missing-text-squares-when-integrating-imgui)

Troubleshoot missing text squares in Dear ImGui. Learn how to fix font atlas GPU upload issues and ensure glyphs are loaded correctly for a seamless integration. Resolve common ImGui text display problems.

- Tags: how-to-guide
- Published: 2026-07-22

### [How to Integrate Dear ImGui with Vulkan: Complete Backend Setup Guide](/ocornut/imgui/how-do-i-integrate-dear-imgui-with-vulkan)

Integrate Dear ImGui with Vulkan using the official backend. Learn to initialize ImGui Vulkan, set up render passes, and render draw data in your command buffer for a seamless UI integration.

- Tags: how-to-guide
- Published: 2026-07-22

### [How to Use the ImDrawList API for Custom Rendering in Dear ImGui](/ocornut/imgui/how-can-i-use-the-imdrawlist-api-for-custom-rendering-in-imgui)

Learn to use the ImDrawList API for custom rendering in Dear ImGui. Inject lines, shapes, text, and textures directly into vertex buffers for unique UI elements. Master high-level and low-level primitives.

- Tags: how-to-guide
- Published: 2026-07-22

### [How to Configure Dear ImGui at Compile-Time Using imconfig.h](/ocornut/imgui/how-can-i-configure-dear-imgui-at-compile-time-using-imconfig-h)

Learn to configure Dear ImGui at compile-time using imconfig.h. Discover how to customize ImGui's behavior with preprocessor macros for consistent settings across your project.

- Tags: how-to-guide
- Published: 2026-07-22

### [How to Implement Multi-Viewport Support in Dear ImGui](/ocornut/imgui/how-to-implement-multi-viewport-support-in-dear-imgui)

Learn to implement multi-viewport support in Dear ImGui by enabling the ViewportsEnable flag and configuring your platform backend for native OS windows.

- Tags: how-to-guide
- Published: 2026-07-22

### [Where to Find ImGui Documentation and Tutorials in the Official Repository](/ocornut/imgui/where-can-i-find-imgui-specific-documentation-or-tutorials)

Find official ImGui documentation and tutorials directly within the ocornut/imgui repository. Explore the docs examples and backend folders for comprehensive guides and resources.

- Tags: getting-started
- Published: 2026-07-21

### [How to Integrate ImGui with OpenGL: Backend Setup for Modern Core Profiles](/ocornut/imgui/how-to-integrate-imgui-with-opengl)

Learn to integrate ImGui with OpenGL by setting up a core profile context and using the official backend files. Get started quickly with our clear guide.

- Tags: how-to-guide
- Published: 2026-07-21

### [How to Manage ImGui Docking and Tab Windows: A Complete Guide to the Built-In Docking System](/ocornut/imgui/how-to-manage-imgui-docking-and-tab-windows)

Learn to manage ImGui docking and tab windows with this complete guide. Enable ImGui docking and build flexible UIs by splitting and persisting windows.

- Tags: how-to-guide
- Published: 2026-07-21

### [Dear ImGui Backends: Every Official Platform and Renderer Option Explained](/ocornut/imgui/what-are-different-imgui-backends-available)

Explore all 20 official Dear ImGui backends for windowing and GPU rendering. Discover platform and renderer options to integrate ImGui into any application seamlessly.

- Tags: deep-dive
- Published: 2026-07-21

### [Best Practices for Using Dear ImGui in Game Development](/ocornut/imgui/what-are-best-practices-for-using-imgui-in-game-development)

Master Dear ImGui for game development. Learn best practices for side-effect-free UI, proper initialization, and rendering order to optimize your game loops. Enhance your workflow today.

- Tags: best-practices
- Published: 2026-07-21

### [How to Customize ImGui Styling and Themes: A Complete Guide to ImGuiStyle](/ocornut/imgui/how-to-customize-imgui-styling-and-themes)

Customize ImGui styling and themes effortlessly. Learn to modify ImGuiStyle, apply presets like StyleColorsDark, and use stack APIs for temporary overrides. Enhance your UI today.

- Tags: how-to-guide
- Published: 2026-07-21

### [How to Load Custom Fonts in Dear ImGui: A Complete Guide to ImFontAtlas](/ocornut/imgui/how-to-load-custom-fonts-in-dear-imgui)

Learn to load custom fonts in Dear ImGui using ImFontAtlas. This guide covers AddFontFromFileTTF AddFontFromMemoryTTF and the essential Build() call for seamless font integration.

- Tags: how-to-guide
- Published: 2026-07-20

### [Dear ImGui vs Traditional Retained-Mode UI: Architecture, Performance, and Code Comparison](/ocornut/imgui/dear-imgui-vs-traditional-retained-mode-ui)

Compare Dear ImGui and traditional retained-mode UI architectures. Understand immediate-mode GUI against persistent widget trees for efficient application development.

- Tags: comparison
- Published: 2026-07-20

### [ImGui Thread Safety and Concurrency: Single-Threaded UI with Parallel Rendering](/ocornut/imgui/imgui-thread-safety-and-concurrency)

Learn about ImGui thread safety and concurrency. Discover how to achieve single-threaded UI with parallel rendering by cloning draw data for safe background thread use.

- Tags: internals
- Published: 2026-07-19

### [ImGui Tables and Grids Features: Complete API and Implementation Guide](/ocornut/imgui/imgui-tables-and-grids-features)

Master ImGui tables and grids with this complete API and implementation guide. Learn to use sorting, resizing, freezing, and clipping for high-performance data display.

- Tags: deep-dive
- Published: 2026-07-19

### [Dear ImGui Advanced Text Input with Callbacks: A Complete Developer Guide](/ocornut/imgui/imgui-advanced-text-input-with-callbacks)

Master Dear ImGui advanced text input with callbacks. Learn to implement dynamic resizing character filtering TAB completion and history navigation with this essential developer guide.

- Tags: how-to-guide
- Published: 2026-07-19

### [Customizing ImGui Theme and Style: A Complete Guide to ImGuiStyle](/ocornut/imgui/customizing-imgui-theme-and-style)

Learn to customize ImGui theme and style with this complete guide. Modify ImGuiStyle for a unique look using GetStyle or PushStyleVar API.

- Tags: how-to-guide
- Published: 2026-07-19

### [ImGui Input Handling for Keyboard, Mouse, and Gamepad: Architecture and Implementation](/ocornut/imgui/imgui-input-handling-keyboard-mouse-gamepad)

Learn ImGui input handling for keyboard, mouse, and gamepad. Discover how platform backends forward native OS events to the core ImGuiIO structure for seamless integration.

- Tags: internals
- Published: 2026-07-19

### [Implementing a Custom ImGui Rendering Backend: Complete Technical Guide](/ocornut/imgui/implementing-custom-imgui-rendering-backend)

Implement a custom ImGui rendering backend by exposing four core functions. This guide details managing GPU resources and translating ImDrawData for your graphics API.

- Tags: how-to-guide
- Published: 2026-07-19

### [How to Create Custom ImGui Widgets: A Complete Guide to Extending Dear ImGui](/ocornut/imgui/how-to-create-custom-imgui-widgets)

Learn how to create custom ImGui widgets with this complete guide. Understand ID generation, item registration, interaction handling, and rendering for ImGui development.

- Tags: how-to-guide
- Published: 2026-07-19

### [How to Implement Custom InputText Behavior with ImGuiInputTextCallback in Dear ImGui](/ocornut/imgui/how-do-i-implement-custom-inputtext-behavior-with-imguiinputtextcallback)

Learn to implement custom InputText behavior in Dear ImGui using ImGuiInputTextCallback. Handle events like resize and filtering by manipulating ImGuiInputTextCallbackData within your callback function.

- Tags: how-to-guide
- Published: 2026-07-18

### [How to Integrate Dear ImGui with Vulkan Using imgui_impl_vulkan](/ocornut/imgui/how-do-i-integrate-dear-imgui-with-vulkan-using-imgui-impl-vulkan)

Integrate Dear ImGui with Vulkan using imgui_impl_vulkan. Learn to populate ImGui_ImplVulkan_InitInfo and call ImGui_ImplVulkan_Init with your Vulkan details for seamless UI integration.

- Tags: how-to-guide
- Published: 2026-07-18

### [How to Optimize Dear ImGui Performance and Reduce Draw Calls: 8 Proven Techniques](/ocornut/imgui/how-do-i-optimize-dear-imgui-performance-and-reduce-draw-calls)

Optimize Dear ImGui performance with 8 proven techniques. Reduce draw calls by mastering UI geometry batching and leveraging ImDrawListSplitter.

- Tags: performance
- Published: 2026-07-18

### [How to Display and Input Non-Latin Characters (Chinese, Japanese, Cyrillic) in Dear ImGui](/ocornut/imgui/how-do-i-display-and-input-non-latin-characters-chinese-japanese-cyrillic)

Learn to display and input non-Latin characters like Chinese, Japanese, and Cyrillic in Dear ImGui. Load Unicode fonts and handle UTF-8 text for seamless internationalization.

- Tags: how-to-guide
- Published: 2026-07-18

### [How to Create Custom Widgets Using `imgui_internal.h`: The Complete Guide](/ocornut/imgui/how-do-i-create-custom-widgets-using-imgui-internal-h-internal-api)

Learn to create custom Dear ImGui widgets using imgui_internal.h. Integrate seamlessly with navigation focus & styling for powerful UI elements. Complete guide.

- Tags: how-to-guide
- Published: 2026-07-18

### [How to Handle DPI Scaling and High-DPI Displays in Dear ImGui](/ocornut/imgui/how-do-i-handle-dpi-scaling-and-high-dpi-displays-in-dear-imgui)

Master DPI scaling and high-DPI displays in Dear ImGui with platform settings, IO flags, and viewport scaling for crisp UIs. Learn how to automatically adjust fonts and geometry.

- Tags: how-to-guide
- Published: 2026-07-18

### [How to Create Custom ImGui Widgets Using `imgui_internal.h`](/ocornut/imgui/imgui-custom-widgets-internal)

Learn to create custom IMGUI widgets using imgui_internal.h. Leverage low-level features for unique UI elements while staying compatible with the immediate-mode pipeline.

- Tags: how-to-guide
- Published: 2026-07-17

### [How to Create Modal Dialogs and Popup Windows in ImGui](/ocornut/imgui/how-to-create-modal-dialogs-popup-windows-imgui)

Learn to create modal dialogs and popup windows in ImGui. Understand BeginPopupModal vs BeginPopup for blocking interaction or allowing dismissals. Build better UIs.

- Tags: how-to-guide
- Published: 2026-07-16

### [How to Implement Keyboard Shortcuts in ImGui Using ImGuiKeyChord](/ocornut/imgui/how-to-implement-keyboard-shortcuts-imguikeychord)

Learn to implement keyboard shortcuts in ImGui with ImGuiKeyChord. Use ImGui::Shortcut() for automatic handling of focus and conflicts, simplifying development.

- Tags: how-to-guide
- Published: 2026-07-16

### [How to Use ImTextureID with Custom Texture Types in DirectX](/ocornut/imgui/how-to-use-imtextureid-custom-directx-textures)

Learn how to use ImTextureID with custom texture types in DirectX. Redefine ImTextureID in imconfig.h for type safety and eliminate manual pointer casts. Improve your DirectX rendering.

- Tags: how-to-guide
- Published: 2026-07-16

### [How to Use ImTextureID with Custom Texture Types in OpenGL: A Complete Guide](/ocornut/imgui/how-to-use-imtextureid-custom-opengl-textures)

Learn how to use ImTextureID with custom texture types in OpenGL. This guide helps you pass custom texture handles and resource managers by leveraging Dear ImGui's void* value.

- Tags: tutorial
- Published: 2026-07-16

### [How ImGui's Table API Handles Sorting and Columns: A Technical Deep Dive](/ocornut/imgui/how-does-imguitable-api-handle-sorting-columns)

Explore ImGui's table API for sorting and columns. Learn how header clicks, directional flags, and transient sort specs enable dynamic data organization for your UI.

- Tags: deep-dive
- Published: 2026-07-16

### [How to Implement Gamepad Navigation Input Handlers in Dear ImGui](/ocornut/imgui/how-to-implement-gamepad-navigation-imgui)

Learn how to implement gamepad navigation input handlers in Dear ImGui. This guide explains how to feed events to ImGuiIO for seamless controller support.

- Tags: how-to-guide
- Published: 2026-07-16

### [How to Debug ID Collision Issues Using the ImGui ID Stack Tool](/ocornut/imgui/how-to-debug-imgui-id-collision-issues)

Debug ImGui ID collision issues effectively. Learn how the ImGui ID Stack Tool visualizes intermediate hashes to pinpoint problematic PushID calls or string literals causing duplicate ImGuiIDs. Resolve warnings efficiently.

- Tags: how-to-guide
- Published: 2026-07-16

### [How to Enable Multi-Viewport Support in ImGui for Detached Windows](/ocornut/imgui/how-to-enable-multi-viewport-support-imgui)

Learn to enable multi-viewport support in ImGui for detached windows. Configure flags, update backends, and render platforms for advanced UI layouts. Get started now.

- Tags: how-to-guide
- Published: 2026-07-16

### [How to Use ImGuiListClipper for Efficient List Rendering in Dear ImGui](/ocornut/imgui/how-to-use-imguiclipper-efficient-list-rendering)

Master ImGuiListClipper to render only visible items in Dear ImGui. Drastically cut iteration costs for large lists by optimizing performance with this essential technique.

- Tags: how-to-guide
- Published: 2026-07-16

### [How the ImGui Font Atlas Works and How to Optimize Its Size](/ocornut/imgui/how-does-imgui-font-atlas-work-optimize-size)

Understand the ImGui font atlas and optimize its size. Learn to reduce memory footprint by limiting glyph ranges, adjusting oversampling, and using the dynamic font system.

- Tags: internals
- Published: 2026-07-16

### [How to Implement Drag and Drop Functionality Between ImGui Windows](/ocornut/imgui/how-to-implement-drag-and-drop-imgui-windows)

Learn how to implement drag and drop functionality between ImGui windows using its global subsystem. Explore payload state and accept drops across all windows with this easy guide.

- Tags: how-to-guide
- Published: 2026-07-16

### [How ImGui Handles DPI Scaling for High-DPI Displays](/ocornut/imgui/how-does-imgui-handle-dpi-scaling)

Learn how ImGui handles DPI scaling for high-DPI displays. Discover how ImGuiIO::DisplayFramebufferScale automatically adjusts fonts and coordinates for crisp visuals.

- Tags: deep-dive
- Published: 2026-07-16

### [How to Use the ImDrawList API for Custom Rendering in Dear ImGui](/ocornut/imgui/how-to-use-imdrawlist-api-custom-rendering)

Unlock custom rendering in Dear ImGui with the ImDrawList API. Inject lines, shapes, text, and textures directly into the rendering pipeline using GetWindowDrawList, GetForegroundDrawList, or GetBackgroundDrawList.

- Tags: how-to-guide
- Published: 2026-07-16

### [How to Integrate ImGui with Vulkan Validation Layers: Complete Setup Guide](/ocornut/imgui/how-to-integrate-imgui-vulkan-validation-layers)

Integrate ImGui with Vulkan validation layers by defining APP_USE_VULKAN_DEBUG_REPORT, enabling the KHRONOS_validation layer, and registering a VkDebugReportCallbackEXT for error reporting.

- Tags: how-to-guide
- Published: 2026-07-16

### [How ImGui's ID Stack System Works: PushID, PopID, and the ## Suffix](/ocornut/imgui/how-does-imguis-id-stack-system-work)

Understand ImGui's ID stack system. Learn how PushID, PopID, and the ## suffix create unique widget identifiers for your GUI.

- Tags: internals
- Published: 2026-07-16

### [Why ImGui's WantCaptureMouse and WantCaptureKeyboard Flags Are Necessary for Input Routing](/ocornut/imgui/why-are-imgui-wantcapturemouse-wantcapturekeyboard-flags-necessary)

Learn why ImGui's WantCaptureMouse and WantCaptureKeyboard flags are essential for directing input. Discover how this separation ensures events go to the right place.

- Tags: internals
- Published: 2026-07-16

### [How to Create a Custom ImGui Renderer for a Proprietary Graphics API](/ocornut/imgui/how-to-create-custom-imgui-renderer-proprietary-api)

Learn to create a custom ImGui renderer for your proprietary graphics API. Implement four backend functions to integrate ImGui's UI logic with your custom drawing commands.

- Tags: how-to-guide
- Published: 2026-07-16

### [What Is the Core Concept Behind ImGui's Immediate Mode GUI?](/ocornut/imgui/what-is-imguis-immediate-mode-gui)

Discover ImGui's immediate mode GUI core concept. Build UIs from scratch each frame with direct commands for deterministic, code-driven interfaces. Learn more.

- Tags: deep-dive
- Published: 2026-07-16

### [How to Implement Custom Data Types for Sliders and Drag Controls in ImGui](/ocornut/imgui/imgui-custom-data-types-sliders-drag-controls)

Learn to implement custom data types for ImGui sliders and drag controls. Extend ImGuiDataType and provide DataTypeInfo for custom scalar types. Boost your UI development.

- Tags: how-to-guide
- Published: 2026-07-15

### [How to Serialize and Persist UI State with ImGuiStorage in Dear ImGui](/ocornut/imgui/imgui-serialize-persist-ui-state-imguistorage)

Learn to serialize and persist UI state with ImGuiStorage in Dear ImGui. Manually save and load ImGuiID keys and values to disk for seamless user experience.

- Tags: how-to-guide
- Published: 2026-07-15

### [How to Implement Tree Nodes and Collapsible Headers in ImGui](/ocornut/imgui/imgui-tree-nodes-collapsible-headers)

Learn to implement ImGui tree nodes and collapsible headers using TreeNode and CollapsingHeader APIs. Discover how to create persistent hierarchical UI elements with ease.

- Tags: how-to-guide
- Published: 2026-07-15

### [How to Handle Non-Latin Text Input (Chinese, Japanese, Korean, Cyrillic) in ImGui](/ocornut/imgui/imgui-non-latin-text-input-handling)

Learn to handle non-Latin text input Chinese Japanese Korean Cyrillic in ImGui by loading Unicode fonts and specifying glyph ranges in ImFontConfig. Enhance your UI.

- Tags: how-to-guide
- Published: 2026-07-15

### [How to Display Custom Images Using ImTextureID in ImGui](/ocornut/imgui/imgui-display-custom-images-imtextureid)

Learn to display custom images in ImGui using ImTextureID. Understand how this opaque handle connects your GPU textures with ImGui rendering for seamless integration. Maximize visual appeal in your applications.

- Tags: how-to-guide
- Published: 2026-07-15

### [How to Use ImGui Color Picker and Color Edit Widgets with Alpha Channels](/ocornut/imgui/imgui-color-picker-color-edit-alpha-channels)

Learn to use ImGui color picker and color edit widgets with alpha channels. Configure transparency with ColorEdit4 and ColorPicker4 functions and ImGuiColorEditFlags.

- Tags: how-to-guide
- Published: 2026-07-15

### [How to Implement Theming and Custom Styling in Dear ImGui (ImGuiStyle & ImGuiCol)](/ocornut/imgui/imgui-theming-custom-styling-imguistyle-imguicol)

Easily customize Dear ImGui appearance. Learn to implement theming and custom styling using ImGuiStyle and ImGuiCol for unique application aesthetics. Modify colors, padding, and more.

- Tags: how-to-guide
- Published: 2026-07-15

### [How to Create Popups, Modals, and Context Menus in Dear ImGui](/ocornut/imgui/imgui-create-popups-modals-context-menus)

Learn to create popups modals and context menus in Dear ImGui using a simple three step pattern. Guide covers opening starting and styling these essential UI elements.

- Tags: how-to-guide
- Published: 2026-07-15

### [How to Optimize ImGui Performance for Large Lists Using ImGuiListClipper](/ocornut/imgui/imgui-optimize-large-lists-imguilistclipper)

Optimize ImGui performance for large lists with ImGuiListClipper. Render thousands of rows efficiently and reduce CPU overhead by only processing visible items.

- Tags: performance
- Published: 2026-07-15

### [How to Use InputText with Callbacks for Custom Text Processing in ImGui](/ocornut/imgui/imgui-inputtext-callbacks-custom-text-processing)

Learn ImGui InputText callbacks for custom text processing. Dynamically resize buffers, filter chars, add autocomplete, and monitor cursor changes effectively.

- Tags: how-to-guide
- Published: 2026-07-15

### [How to Implement Docking and Split View Layouts in Dear ImGui](/ocornut/imgui/imgui-docking-split-view-layouts)

Learn to implement docking and split view layouts in Dear ImGui. Enable docking, create DockSpaces, and use the DockBuilder API to organize your UI efficiently.

- Tags: how-to-guide
- Published: 2026-07-15

### [How to Handle WantCaptureMouse and WantCaptureKeyboard for Input Dispatching in Dear ImGui](/ocornut/imgui/imgui-wantcapturemouse-wantcapturekeyboard-input-dispatch)

Learn how to handle WantCaptureMouse and WantCaptureKeyboard in Dear ImGui for effective input dispatching. Never miss a crucial input event again.

- Tags: deep-dive
- Published: 2026-07-15

### [How to Use ImVec2 Math Operators with `IMGUI_DEFINE_MATH_OPERATORS` in Dear ImGui](/ocornut/imgui/imgui-vec2-math-operators-custom-types)

Learn to use ImVec2 math operators in Dear ImGui by defining IMGUI_DEFINE_MATH_OPERATORS. Enhance your custom vector math with ease and efficiency.

- Tags: how-to-guide
- Published: 2026-07-15

### [How to Enable Keyboard and Gamepad Navigation in Dear ImGui: Configuring NavEnableKeyboard and NavEnableGamepad](/ocornut/imgui/imgui-keyboard-gamepad-navigation)

Enable keyboard and gamepad navigation in Dear ImGui by setting NavEnableKeyboard and NavEnableGamepad flags. Integrate seamless input control into your applications today.

- Tags: how-to-guide
- Published: 2026-07-15

### [How to Load and Use Multiple Fonts with ImFontAtlas in Dear ImGui](/ocornut/imgui/imgui-multiple-fonts-imfontatlas)

Quickly load and use multiple fonts in Dear ImGui by adding fonts to ImFontAtlas with AddFontFromFileTTF and managing them with PushFont and PopFont for dynamic control.

- Tags: how-to-guide
- Published: 2026-07-15

### [How to Create Custom Widgets Using the ImDrawList Low-Level API in Dear ImGui](/ocornut/imgui/imgui-custom-widgets-imdrawlist)

Learn to build custom widgets in Dear ImGui by leveraging the ImDrawList API with InvisibleButton for input. Master low-level drawing for unique UI elements.

- Tags: how-to-guide
- Published: 2026-07-15

### [How to Implement Drag and Drop Functionality Between Widgets in ImGui](/ocornut/imgui/imgui-drag-and-drop-widgets)

Learn to implement drag and drop between ImGui widgets. Use BeginDragDropSource, SetDragDropPayload, and BeginDragDropTarget to transfer custom data easily. Master ImGui's drag and drop system today.

- Tags: how-to-guide
- Published: 2026-07-15

### [How to Use Dear ImGui Tables API: BeginTable, TableNextRow, and TableSetColumnWidth](/ocornut/imgui/imgui-tables-api-usage)

Master Dear ImGui Tables API with BeginTable, TableNextRow, and TableSetColumnWidth. Learn to create efficient grid layouts in your C++ applications using this powerful feature.

- Tags: how-to-guide
- Published: 2026-07-15

### [How the ImGui ID Stack System Works: PushID, PopID, and the ## Operator](/ocornut/imgui/imgui-id-stack-system)

Understand the ImGui ID stack system with PushID, PopID, and the ## operator. Learn how ImGui generates unique widget IDs efficiently without strict naming.

- Tags: internals
- Published: 2026-07-15

### [How to Handle DPI Scaling and High‑DPI Displays in ImGui Applications](/ocornut/imgui/imgui-dpi-scaling-high-dpi)

Learn how ImGui handles high DPI displays and DPI scaling in your applications. Understand ImGuiIO::DisplayFramebufferScale for adapting your UI to different pixel densities.

- Tags: how-to-guide
- Published: 2026-07-15

### [How to Implement a Custom Renderer Backend for Dear ImGui: OpenGL, DirectX, Vulkan, and Metal](/ocornut/imgui/imgui-custom-renderer-backend)

Learn to implement a custom Dear ImGui renderer backend for OpenGL, DirectX, Vulkan, or Metal. Follow our guide to manage GPU resources and hook into ImGuiIO for powerful customization.

- Tags: how-to-guide
- Published: 2026-07-15

### [How Dear ImGui's Immediate Mode GUI Paradigm Differs from Retained-Mode UI Toolkits](/ocornut/imgui/dear-imgui-immediate-mode-vs-retained-mode)

Discover how Dear ImGui's immediate mode GUI bypasses persistent objects by recreating UI elements each frame, simplifying layout and interaction unlike retained-mode toolkits.

- Tags: deep-dive
- Published: 2026-07-15

### [Automating Dear ImGui Testing Using the Test Engine: A Complete Integration Guide](/ocornut/imgui/automating-imgui-testing-test-engine)

Automate Dear ImGui testing with the built-in Test Engine. Integrate seamlessly for efficient UI testing without affecting production builds. Learn how now.

- Tags: how-to-guide
- Published: 2026-07-14

### [Debugging Layout Issues with Dear ImGui's Built-in Metrics Window](/ocornut/imgui/debugging-layout-issues-imgui-metrics-window)

Debug Dear ImGui layout issues fast using the built-in metrics window. Diagnose misplaced widgets, clipping errors, and focus problems with real-time UI state.

- Tags: how-to-guide
- Published: 2026-07-14

### [Using the Dear ImGui Multi-Select API for List Selection Patterns](/ocornut/imgui/using-imgui-multi-select-api-list-patterns)

Master Dear ImGui's multi select API for effortless list selection. Discover BeginMultiSelect and EndMultiSelect for advanced Ctrl+Shift+Box selection without manual state management.

- Tags: how-to-guide
- Published: 2026-07-14

### [Creating Popup Modals and Context Menus Correctly in Dear ImGui](/ocornut/imgui/creating-popup-modals-context-menus-imgui)

Learn to correctly create popup modals and context menus in Dear ImGui using matched OpenPopup and BeginPopup calls. Essential for managing UI elements seamlessly.

- Tags: how-to-guide
- Published: 2026-07-14

### [Building Node Editors and Graph Visualizations with Dear ImGui](/ocornut/imgui/building-node-editors-graph-visualizations-imgui)

Learn to build node editors and graph visualizations with Dear ImGui. Leverage its immediate-mode architecture and drawing primitives for custom UIs without external dependencies.

- Tags: tutorial
- Published: 2026-07-14

### [Handling High-DPI Displays and Viewport Scaling with Dear ImGui](/ocornut/imgui/handling-high-dpi-displays-viewport-scaling-imgui)

Master high-DPI displays & viewport scaling in Dear ImGui. Learn to configure DPI scaling for fonts & viewports using backend helpers and imgui flags for crisp UIs.

- Tags: how-to-guide
- Published: 2026-07-14

### [How to Implement Undo/Redo for Text Input Fields in Dear ImGui](/ocornut/imgui/implementing-undo-redo-text-input-imgui)

Implement undo redo for Dear ImGui text input fields. Learn how the stb_textedit library handles Ctrl Z Ctrl Y and explore the ImGuiInputTextFlags_NoUndoRedo flag for custom control.

- Tags: how-to-guide
- Published: 2026-07-14

### [Using ImGuiListClipper for Efficient Rendering of Large Lists in Dear ImGui](/ocornut/imgui/using-imguilistclipper-efficient-large-lists)

Learn how to use ImGuiListClipper to efficiently render massive lists in Dear ImGui. Optimize performance by rendering only visible items and avoid costly CPU usage.

- Tags: performance
- Published: 2026-07-14

### [Integrating Dear ImGui with Vulkan, DirectX, and OpenGL: A Complete Backend Guide](/ocornut/imgui/integrating-imgui-vulkan-directx-opengl)

Integrate Dear ImGui with Vulkan DirectX or OpenGL using official backends. Learn the seven-step initialization pattern for seamless GUI rendering in your C++ applications.

- Tags: how-to-guide
- Published: 2026-07-14

### [Handling Keyboard and Mouse Input Events Through Dear ImGuiIO: A Complete Guide](/ocornut/imgui/handling-keyboard-mouse-input-imguiio)

Master Dear ImGuiIO to seamlessly handle keyboard and mouse input events. This guide simplifies UI interaction by explaining the centralized I/O hub and how backends populate it each frame.

- Tags: how-to-guide
- Published: 2026-07-14

### [Using ImDrawList for Custom 2D Rendering in Dear ImGui Windows: A Complete Guide](/ocornut/imgui/using-imguidrawlist-custom-2d-rendering)

Master custom 2D rendering in Dear ImGui using ImDrawList. Learn to add lines, rectangles, and images with this comprehensive guide.

- Tags: how-to-guide
- Published: 2026-07-14

### [Implementing Docking Windows with the Dear ImGui Docking Branch: A Complete Guide](/ocornut/imgui/implementing-docking-windows-imgui-docking-branch)

Learn to implement docking windows with the Dear ImGui docking branch. Master workspace arrangements for professional UIs using the DockBuilder API.

- Tags: tutorial
- Published: 2026-07-14

### [How the Dear ImGui ID System Works and How to Avoid ID Collisions](/ocornut/imgui/imgui-id-system-avoiding-collisions)

Understand the Dear ImGui ID system to prevent collisions. Learn how hashing and scoping with PushID PopID ensures unique identifiers for your UI elements.

- Tags: internals
- Published: 2026-07-14

### [Optimizing Dear ImGui Performance for Real‑Time Applications](/ocornut/imgui/optimizing-imgui-performance-real-time-applications)

Boost Dear ImGui performance in real-time apps. Learn optimization techniques leveraging immediate-mode rendering and efficient algorithms for faster UIs.

- Tags: performance
- Published: 2026-07-14

### [Loading and Configuring Custom Fonts with ImFontAtlas in Dear ImGui](/ocornut/imgui/loading-custom-fonts-imgui-fontatlas)

Learn to load and configure custom fonts with ImFontAtlas in Dear ImGui. This guide simplifies integrating unique typography into your GUI applications, enhancing user experience.

- Tags: how-to-guide
- Published: 2026-07-14

### [Setting Up Multi-Viewport Support in Dear ImGui for Multiple Windows](/ocornut/imgui/setup-multi-viewport-support-dear-imgui)

Learn to set up multi-viewport support in Dear ImGui. Make your ImGui windows native OS windows with simple flag and function calls for enhanced application flexibility.

- Tags: how-to-guide
- Published: 2026-07-14

### [Using Input Text Callbacks for Validation and Custom Processing in Dear ImGui](/ocornut/imgui/input-text-callbacks-validation-processing-imgui)

Master Dear ImGui input text callbacks for real-time validation and custom processing. Intercept, filter, and transform user input effectively using ImGuiInputTextCallbackData.

- Tags: how-to-guide
- Published: 2026-07-14

### [Implementing a Custom Rendering Backend for Dear ImGui with Different Graphics APIs](/ocornut/imgui/custom-rendering-backend-imgui-graphics-apis)

Implement a custom rendering backend for Dear ImGui. Learn to translate ImDrawData into API-specific draw calls via Init NewFrame RenderDrawData and Shutdown functions storing backend state in ImGuiIO::BackendRendererUserData.

- Tags: how-to-guide
- Published: 2026-07-14

### [How to Customize Dear ImGui Styling and Themes Programmatically](/ocornut/imgui/customizing-imgui-styling-themes-programmatically)

Learn to customize Dear ImGui styling and themes. Modify colors, sizes, and rounding programmatically with ImGuiStyle for a unique look.

- Tags: how-to-guide
- Published: 2026-07-14

### [How to Use Dear ImGui’s Tables API (BeginTable/EndTable) for Complex Layouts](/ocornut/imgui/using-imgui-tables-api-complex-layouts)

Master Dear ImGui's tables API and its BeginTable/EndTable functions to build complex, sortable, and scrollable layouts. Upgrade from legacy Columns for enhanced UI flexibility.

- Tags: how-to-guide
- Published: 2026-07-14

### [How to Create Custom Widgets in Dear ImGui Using the Drawing API](/ocornut/imgui/how-to-create-custom-widgets-dear-imgui-drawing-api)

Learn to create custom widgets in Dear ImGui using the drawing API. Discover how to manage input and draw directly for unique UI elements.

- Tags: how-to-guide
- Published: 2026-07-14

### [Understanding the Immediate Mode GUI Paradigm in Dear ImGui](/ocornut/imgui/what-is-immediate-mode-gui-dear-imgui-vs-retained-mode)

Discover the immediate mode GUI paradigm in Dear ImGui. Learn how its frame-by-frame widget recreation and direct function calls offer a unique, efficient approach compared to retained mode.

- Tags: deep-dive
- Published: 2026-07-14

### [How to Contribute to the ImGui Project: A Complete Developer Guide](/ocornut/imgui/how-to-contribute-to-the-imgui-project)

Learn how to contribute to the ImGui project. Follow our guide to clone the repository, adhere to coding standards, and submit your pull requests for C++ GUI development.

- Tags: how-to-guide
- Published: 2026-07-13

### [Alternatives to ImGui for UI Development: A Technical Comparison](/ocornut/imgui/alternatives-to-imgui-for-ui-development)

Explore ImGui alternatives for UI development. Compare retained-mode frameworks like Qt and single-header C libraries like Nuklear. Find the best fit for your project's rendering pipeline.

- Tags: comparison
- Published: 2026-07-13

### [How to Integrate ImGui with Unity or Unreal Engine: Complete Backend Guide](/ocornut/imgui/integrate-imgui-with-unity-or-unreal-engine)

Learn how to integrate ImGui with Unity or Unreal Engine using the standard platform and renderer backends provided in the ocornut/imgui repository. Get your UI setup quickly.

- Tags: how-to-guide
- Published: 2026-07-13

### [Common ImGui Widgets and Their Usage: A Complete Guide to Dear ImGui UI Elements](/ocornut/imgui/common-imgui-widgets-and-their-usage)

Explore common ImGui widgets and their usage in this comprehensive guide. Learn about buttons, checkboxes, sliders, and more to build your Dear ImGui UI.

- Tags: how-to-guide
- Published: 2026-07-13

### [How to Use ImGui with OpenGL 4.x: Complete Backend Integration Guide](/ocornut/imgui/how-to-use-imgui-with-opengl-4x)

Learn to integrate ImGui with OpenGL 4.x. This guide provides a complete backend setup, from context creation to rendering ImGui frames with GLSL 450 core.

- Tags: how-to-guide
- Published: 2026-07-13

### [Best Practices for Using ImGui with Vulkan: Complete Integration Guide](/ocornut/imgui/best-practices-imgui-vulkan)

Learn best practices for integrating ImGui with Vulkan. This guide offers a zero-modification API for seamless embedding into Vulkan engines.

- Tags: best-practices
- Published: 2026-07-13

### [How to Integrate ImGui with Modern C++ Frameworks: A Complete Implementation Guide](/ocornut/imgui/how-to-integrate-imgui-with-modern-c-frameworks)

Learn to easily integrate ImGui with modern C++ frameworks. This guide details platform and renderer backend integration for a seamless development experience.

- Tags: how-to-guide
- Published: 2026-07-13

