Dear ImGui in Unreal Engine 5 with C++

  Рет қаралды 9,919

Kyle Geske

Kyle Geske

Күн бұрын

Using the Dear ImGui free and open-source graphical user interface library within Unreal Engine. This tutorial is specific to Unreal Engine 5.0.1 with ImGui 1.8.7 using the plugin fork linked below.
Tutorial Project on Github: github.com/stungeye/UE5-With-...
ImGui: github.com/ocornut/imgui
UnrealImGui Plugin Fork: github.com/benui-dev/UnrealImGui
More complex example code: github.com/segross/UnrealImGu...
00:00:00 Video Intro
00:00:44 ImGui Library & Plugin
00:02:19 UE5 C++ Project
00:03:41 Installing & Building Plugin
00:06:04 Testing the Plugin
00:07:34 Configuring C++ Project
00:14:20 ImGui Input Toggle
00:16:00 Custom ImGui Window
00:19:59 Hook Actor to imGui Slider
00:24:16 Display FPS in ImGui

Пікірлер: 21
@stungeye
@stungeye 2 жыл бұрын
I made a short (4 minute) follow-up to this video with a fix that allows for multiple actors, each with their own ImGui window: kzbin.info/www/bejne/pYSUp39-dpiSoNk
@robertmajewski4479
@robertmajewski4479 Жыл бұрын
Hello, thank you for the tutorial. About solution and projects files: those are only for visual studio to show the project structure. They are not used by unreal to build. Those project files need to be regenerated every time when a new file is added to the ue5 project or uproject/uplugin is changed. You don't have to close VS. Just run the script to regenerate VS files and VS will detect that and reload.
@stungeye
@stungeye Жыл бұрын
Thanks. This is great additional information on the build process and VS.
@_svk_4339
@_svk_4339 2 жыл бұрын
Hi Great tutorial, hoping to see many more. Can you share how would I be able to rotate an actor (cube) in x, y, z using imgui sliders?
@stungeye
@stungeye 2 жыл бұрын
The process would be very similar, however you'd need to floats to store the changes to the pitch, yaw, and roll. Rotation based on these could then be handled as shown here: unrealcpp.com/rotating-actor/
@FQQQF
@FQQQF 2 жыл бұрын
I like it, but this option will scale any 3d object, how do you attach it to a specific 3d object ?
@stungeye
@stungeye 2 жыл бұрын
Currently the ImGui code I've added is attached a specific objects (instances of BP_ImGuiActor). That said, my use of a static variables (for Scale and ScaleOld) and a non-unique ImGui window name, means that multiple BP_ImGuiActor's in a scene won't work properly. I've updated the code in the associated github repo (github.com/stungeye/UE5-With-Dear-ImGui) to add support for multiple actors, each one being scaled by a different ImGui window. The one issue is that all these ImGui windows may spawn at the same position on the canvas and will have to be dragged around to separate positions.
@stungeye
@stungeye 2 жыл бұрын
I've created a short follow-up video with a fix that allows for individual control of each actor's scale: kzbin.info/www/bejne/pYSUp39-dpiSoNk
@OCanalDeVideoGames
@OCanalDeVideoGames 4 ай бұрын
my keyboard shortcut is not working, bro, cant toggle by the shortcut
@andycunningham3634
@andycunningham3634 Жыл бұрын
Wondering have you tried getting multiple imgui contexts to work. Basically to have imgui in another slate window instead of just the main gameviewport.
@stungeye
@stungeye Жыл бұрын
Haven't tried that yet. Have you had any success with multiple imgui contexts with Unreal?
@TheSilverlost
@TheSilverlost Жыл бұрын
Is there any way to use the Docking version ?
@stungeye
@stungeye Жыл бұрын
I haven't experimented with the docking branch in the context of Unreal. Please let me know if you find a way.
@TheSilverlost
@TheSilverlost Жыл бұрын
@@stungeye So I've made docking work, haven't test everything the docking branch has to offer tho but the docking feature work I downloaded the docking branch on Github, replaced files in "/Plugins/ImGui/Source/ThirdParty/ImGuiLibrary" with the one from the docking branch. Then went into the FImGuiContextProxy class constructor, and added those line. IO.ConfigFlags |= ImGuiConfigFlags_DockingEnable; IO.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable; // MultiViewport dont work right now Didnt bother making multi-viewport work as it is not valuable to me. In case your asking the version is V1.89 WIP.
@stungeye
@stungeye Жыл бұрын
@@TheSilverlost Wow. AWESOME! Glad to hear it wasn't a battle to get it working.
@johannharding8161
@johannharding8161 Жыл бұрын
Has anyone managed to make it work with 5.2? I get failure after clicking yes to rebuild. =(
@stungeye
@stungeye Жыл бұрын
There's a pull request on the repo with a compilation fix for 5.1: github.com/benui-dev/UnrealImGui/pull/1 The two commits on this request are super short, so you could likely just paste 'em into your copy of UnrealImGui.
@johannharding8161
@johannharding8161 Жыл бұрын
​@@stungeye After copying the fix into the files, I still had to open the solution and fix a "bug" in SImGuiCanvasControl.cpp line 179. I changed it to: "const FVector2D DragDelta = static_cast(ScreenToWidget.TransformVector(DragDropEvent.GetScreenSpacePosition() - Operation->StartPosition)); Added " #include "Math/Vector2D.h" " also. now it works for me and I get to see the demo. I am not a pro at this so it might not be the best solution. Thanks for your reply =)
@stungeye
@stungeye Жыл бұрын
@@johannharding8161 Nice one. Glad you were able to get it working. You might want to flag the additional bug you had to fix as an issue on the repo.
@lintan8071
@lintan8071 Жыл бұрын
Why can't I load fonts? In UE5
Getting into C++ with Unreal Engine - Part1 - Setting up
34:49
Dear ImGui -- C++ GUI Framework For AAA Games and Game Engines
12:39
Gamefromscratch
Рет қаралды 96 М.
OMG😳 #tiktok #shorts #potapova_blog
00:58
Potapova_blog
Рет қаралды 4,4 МЛН
KINDNESS ALWAYS COME BACK
00:59
dednahype
Рет қаралды 110 МЛН
버블티로 체감되는 요즘 물가
00:16
진영민yeongmin
Рет қаралды 107 МЛН
Was ist im Eis versteckt? 🧊 Coole Winter-Gadgets von Amazon
00:37
SMOL German
Рет қаралды 34 МЛН
Modern OpenGL C++ & ImGui : Introduction
10:01
Jayanam
Рет қаралды 57 М.
GT7 player tries Asetto Corsa Competizione PS5 4K ACC
19:18
kevtotha
Рет қаралды 10 М.
I solved Unreal Engine's Package Size Problem...
14:35
Cobra Code
Рет қаралды 60 М.
Multiplayer in Unreal Engine: How to Understand Network Replication
22:08
Code Review + ImGui Layer Events | Game Engine series
39:03
The Cherno
Рет қаралды 27 М.
BEST WAY to make Desktop Applications in C++
26:00
The Cherno
Рет қаралды 890 М.
How to use Dear ImGui to build a simple Gui-App Framework in C++
26:09
ImGui with Unreal Engine Follow-Up Fix
4:34
Kyle Geske
Рет қаралды 1,5 М.
Malware Development: Processes, Threads, and Handles
31:29
OMG😳 #tiktok #shorts #potapova_blog
00:58
Potapova_blog
Рет қаралды 4,4 МЛН