Unreal plug-in that integrates Dear ImGui framework into Unreal Engine 5.
Go to file
2022-02-25 21:53:34 +00:00
Resources Initial commit: 2017-03-17 23:22:13 +00:00
Source Updated the way keys are handled to the new way ImGui now deals with input even though old input API works and is somewhat functional I'd rather be inline with latest standards. Also added all known keys to proxy for passing to ImGui for IsKeyDown/IsKeyPressed/IsKeyReleased routines. Code's a ugly and architecture not exactly perfect but works for the most part, will revisit when I get some time. 2022-02-25 21:40:13 +00:00
.gitignore Initial commit: 2017-03-17 23:22:13 +00:00
CHANGES.md Fixed cached resource handles getting invalid after reloading texture resources. 2021-04-15 21:30:53 -04:00
ImGui.uplugin Updated ImGui to 1.87, added ImPlot v0.13 WIP and updated core plugin sources to work with UE5, updated ImGui and ImPlot. Also changed readme.md to reflect this fork's state. 2022-02-19 18:31:15 +00:00
LICENSE Updated copyright date. 2021-04-14 22:10:59 -04:00
README.md Updated readme with new changes 2022-02-25 21:53:34 +00:00

Unreal ImGui

MIT licensed

Unreal ImGui is an Unreal Engine 4 plug-in that integrates Dear ImGui developed by Omar Cornut.

Dear ImGui is an immediate-mode graphical user interface library that is very lightweight and easy to use. It can be very useful when creating debugging tools.

⏹️ Read Me First

Please note that this is a forked project from https://github.com/segross/UnrealImGui. I do not take credit for the work he's put into making Dear ImGui work in Unreal Engine. The work I've done to this fork is listed below.

I've removed large portions of this readme.md to keep redundant information between the base project and this fork to a minimum. If you wish to read the original readme.md, please see this link: UnrealImGui ReadMe.md.

Also note that the NetImGui branch is not up to date with any of this fork's changes.

Fork Additions/Fixes

  • Updated core source files for Unreal Engine 5, new ImGui and ImPlot
  • Updated Dear ImGui to 1.87
  • Added ImPlot v0.13 WIP
  • ImGui::IsKey* now functional with all known ImGui keys.
  • Updated input handling flow to be standard compliant with Dear ImGui 1.87 which makes ImGui react better at low FPS. Will add IMGUI_DISABLE_OBSOLETE_KEYIO preprocessor once I've ripped out old style input.

Status

UnrealImGui Version: 1.22

ImGui version: 1.87

ImPlot version: v0.13 WIP

Supported Unreal Engine version: 5.0*

* The original repository has support for later versions of UE4. I've not tested this fork on UE4 variants, I only know it works for UE5 currently.

How to Set up

On top of reading the base repository's How to Set up segment, you'll need to add the following line to your [GameName].Build.cs file otherwise you'll get linking errors:

// Tell the compiler we want to import the ImPlot symbols when linking against ImGui plugin 
PrivateDefinitions.Add(string.Format("IMPLOT_API=DLLIMPORT"));

Using ImPlot

It's pretty easy to use ImPlot, it's pretty much the same drill as using Dear ImGui with the UnrealImGui plugin. You can see documentation on how to use ImPlot here: ImPlot.

The only thing you won't need to do is call the ImPlot::CreateContext() and ImPlot::DestroyContext routines as they're already called when ImGui's context is created within UnrealImGui's guts.

See also

License

Unreal ImGui (and this fork) is licensed under the MIT License, see LICENSE for more information.