We used this a lot in the AAA industry, probably the best debug UI ever. And the remote functionality is awesome 😉👍
@supremeleaderkimjongun3 жыл бұрын
Doesn't look too much good though. But on performance side it's very efficient.
@darkzeroprojects42452 жыл бұрын
@@supremeleaderkimjongun something I am fine with. Thoug if one can make it more stylish on tp of it it be Good
@clintonreisig2 жыл бұрын
I want to write source in only C, but do not mind the GUI being in CPP. My applications will be OS cross platform. The information seems to say that the GUI made from Dear IMGui should look typically the same regardless of OS implementation with no need to tweak it. Am I correct on this?
@bronzekoala91412 жыл бұрын
@@supremeleaderkimjongun It can be themed to look exactly how you like it.
@alexs21956 ай бұрын
@@supremeleaderkimjongun this is why he called the best debug UI lol
@apollolux3 жыл бұрын
Two things to note that aren't covered in this video: 1. While for some reason not listed in the users, Adobe also uses Dear ImGui and with the Dear ImGui implementation of their "Spectrum Design Language" (basically a glorified style guide, but still useful nonetheless) they plan on making their future app GUIs more visually consistent and unified, and the rendering more platform-agnostic. My personal assumption is they're going to double down on their existing use of Chromium Embedded Framework. 2. The design methodologies and the overall history and progress of the Dear ImGui project are more apparent once you realize that the dev, Omar Cornut, is also known as Bock, the dev of the Sega emulator Meka. Using, even just looking at, Meka you will see this is a dev who eats his own dogfood.
@seppukun2083 жыл бұрын
ooof, I remember IMGUI. I used it in my first year of uni. It moves so fast and gets updated so often it's hard to keep up. But it certainly made my project way better looking than the rest of my classmates.
@joshmadscientist53383 жыл бұрын
Damn it. When telling my friend about the ui toolset I was writing for my engine, he mentioned imgui. I shoulda listened and saved myself a month.
@kylegaijin3 жыл бұрын
but, that was still good experience for you.
@mazimadu3 жыл бұрын
"It run on your toaster probably ..." (Sees Qt) HE'S NOT LYING!!
@ucmRich3 жыл бұрын
check out The Cherno he build his own engine "Hazel Game Engine" and he uses ImGui.
@0tiii3 жыл бұрын
On the real though, he is lots of show little substance
@novaria3 жыл бұрын
@@0tiii wdym he did some pretty good tutorials and went in-depth compared to other tutorials found on youtube. Also he seems to know his stuff. Where does this come from? Just curious, maybe I'm missing something.
@utilityy3 жыл бұрын
Yeah cherno is awesome
@MrDarkoiV3 жыл бұрын
@@novaria I am not sure, I had found myself always underwhelmed in his tutorials. IDK how it is now, but his past tutorials were mostly basics that could be shown in 1/3 of time that he used, and any useful followups with more advanced usages were often promised but not delivered.
@alexs21956 ай бұрын
@@MrDarkoiV his tutorials are slow, but he did focus on the basics and explanation. Is a really good tutorial if you want to spend time and learn, but if you just want to copy code is pretty annoying.
@legend46463 жыл бұрын
dang, ive seen this kind of thing in games and never realized it was open source!
@darkaaaaaaa3 жыл бұрын
How simple to implement backend for ImGUI? I've got it all running, inlcuding input, on N3DS under 8 hours.
@MichaelProstka3 жыл бұрын
Been looking to replace Qt for our in-house tools, this might be just the right fit.
@UnidayStudio3 жыл бұрын
I use this in my game engine, it's awesome!
@mihajlosreckovic84043 жыл бұрын
Is the source code available? Curious to see how it looks. I am learning about game engine development (DirectX currently), and would like to see how other projects look
@bhaveshtiwari57833 жыл бұрын
@@mihajlosreckovic8404 just check out his channel he already have a lot of videos on his game engine
@softwave16623 жыл бұрын
ImGui is wonderful.
@tomtawadros3 жыл бұрын
Interesting, seen star citizen use this. Always thought it was just a feature of their engine.
@HereIsZane3 жыл бұрын
Nope it seems they are using imgui instead of the standard CE UI for new stuff, probably cause new LY versions have a different UI framework so in case they want to upgrade in the future they won't have to redo all the tools.
@cykboy32543 жыл бұрын
imgui is awesome but not so much for most actual game UI, tooling and such however its brilliant for
@michaelbitzer72953 жыл бұрын
I have been using it for years and it is amazing!
@akshayazariah3 жыл бұрын
Dear ImGUI is a Godsend.
@MastermindAtWork3 жыл бұрын
I seen Game Freak's Pokemon Sword and Shield engine used ImGUI from the Beta images shown of the game.
@earthlingsunite14053 жыл бұрын
1:55 UHOOOOOHH back to dark back to dark
@VertegrezNox3 жыл бұрын
Thank you. been looking for more info on creating 'tools' & this looks pretty nice so ill do some more digging and probably give it a shot
@redox53733 жыл бұрын
Waited for a long time for this video
@sharkinahat3 жыл бұрын
I only played a bit with the Python bidings and it worked fine. I like its no nonsense style, you don't get 55 types of Button classes.
@morfy25813 жыл бұрын
Flashbang 1:52
@moe4b3 жыл бұрын
The real flash bang is at 2:09
@IElial3 жыл бұрын
Thx ! Strangely I was completely bling on this side. And just understand what Im mean in ImGui ^^. So to be clear, this is mainly devoted to Dev UI (like tool) but not for end user (player) interface (like creating game menu, inventory, ...)
@herrdingenz62953 жыл бұрын
3:00 Dear ImGui has drag'n'drop and cut'n'paste .. it even has docking and viewports
@mnajim75383 жыл бұрын
Can you make a tutorial about it?.
@SophiaWoessner4 ай бұрын
Light theme genuinely fucking hurt, and then the second lighttheme jumpscare of github also hurt
@Kitsune_Dev6 ай бұрын
can you talk more about Lua and Luau and tools? i currently made my tools outside of Roblox for automating tasks using Lune but I can’t really find libraries that work with it as Lune is written in RUST and I need libraries for audio manipulation and GUI stuff
@Murderface6663 жыл бұрын
I remember the days when people would say "why reinvent the wheel? There's already Unreal and Unity!" Where are they now?
@cholushkin3 жыл бұрын
it depends on particular purposes and requirements. You don't need imgui if you're creating simple unity game. But you may consider using it if you have a big team and custom engine with a complex gui. So answer to your question is they are right here now.
@Murderface6663 жыл бұрын
@@cholushkin You are just trying to be contrary for the sake of being contrary. People been wanting to understand how to create their own engines + editors for years. The problem is, when such a question is asked, everyone is quick to shoot it down. Fast forward to today, there is no shortage of such examples and is steadily decoupling from the mainstream, meaning a handful of companies wont be able to retain a monopolizing strangle hold on the market. More engines + editors is a good thing. It means more money in the creator's (of a game) pocket by eliminating as many middlemen with their hands out as possible.
@yolamontalvan950211 ай бұрын
But this video is two years old. Is it still good?
@SianaGearz3 жыл бұрын
Would you consider making a roundup/comparison of all the different similar libs? There's also Nuklear and Google FlatUI.
@yadav-r3 жыл бұрын
interesting, really appreciate the time & effort you put into your content.
@rootwayder773 жыл бұрын
iam gonna use this in my game engine. this looks sooooo awsome i love it ❤️
@BrainSlugs833 жыл бұрын
The Unity port doesn't work. At least it didn't a few months ago when you did your last ImGui video. It's like for Unity 2017 or something and didn't function in 2019/2020. I filed a bug and forgot about it. Might be worth looking back into it now.
@adityachoubey9353 жыл бұрын
I have been using Unity and Unreal to make games. I wanted to start working on a game engine that uses D3D 11 as a project. How and where should I start?
@gamefromscratch3 жыл бұрын
Generally you start with a renderer, then a scene graph, then asset loaders, then tools and go from there. Every single game engine starts with a single triangle on screen.
@fabricebalan3 жыл бұрын
@@gamefromscratch what if i start with a square
@ilieschamkar67673 жыл бұрын
@@fabricebalan 2 triangles then!
@kubolor1234 Жыл бұрын
@@gamefromscratchstarted with a pyramid, felt like Hideo Kojima 😎
@roxonogueira3 жыл бұрын
Hi Gui, I'm Pedro
@tuatarian65913 жыл бұрын
Nim port of this (part of nimgl) is super good
@NavyaVedachala3 жыл бұрын
Hello! This was great. I need to make time plot inside my game screen. Are there any video resources that explain how to set up graphs using IMGUI? Thank you!
@KoMaHu3aM3 жыл бұрын
keeping those algorithms happy...
@kanteranrhodan60323 жыл бұрын
Please show the docking branch!
@bocktiful3 жыл бұрын
I second this comment you should show the docking branch (merging/split window, extracting them out of the main viewport) Also, about your comment on "lacks certain features normally found in more high-level libraries": it does support drag and drop and clipboard, many more things :)
@WeskerPower3 жыл бұрын
This is very old ma dude, i was wondering if you ever talk about it
@wjrasmussen666 Жыл бұрын
Is there a github for the example at the start of this video with the examples
@watercat12483 жыл бұрын
Html is one of my fevorit Languages
@ChrisLeeW003 жыл бұрын
hmm, this might help make that retroarch core I've been thinking about...
@GameUnion3 жыл бұрын
Back to DARK! YEAH! 🌑
@msec71883 жыл бұрын
is this the same as dearpygui? because I love love love dearpygui!!
@Nexus-rt1bm3 жыл бұрын
I think dearpygui is just python bindings for dear ImGui
@robotustra3 жыл бұрын
"ImGui has no third party dependency"... Except that your own project will have a dependency of ImGui itself...
@9paradox3 жыл бұрын
Hmm 🤔 interesting. I was about to start with Kotlin compose for desktop.
@stuartdriedger99893 жыл бұрын
which prescription drugs are you using?
@mohamedamine-vx6mb3 жыл бұрын
Good work
@FPChris2 жыл бұрын
Does it work in straight C?
@kubolor1234 Жыл бұрын
Saw imGui in the GTA 6 leak
@jaysistar2711 Жыл бұрын
Please look at egui. It's like Dear IMGUI in that it's immediate mode, and it generates vertex buffers to be rendered by the engine API or low level API, but it's written in Rust, and easily works on native and the Web (it has prewritten backends for common platforms).
@chickeninabox3 жыл бұрын
Are you an engineer?
@gamefromscratch3 жыл бұрын
That is a word with a VERY defined meaning in Canada. I do not have an engineering degree. I have had titles with Engineer in them, but again, they probably shouldn't.
@chickeninabox3 жыл бұрын
@@gamefromscratch I said that because you were speaking words that you didn't speak before.
@drew2303 жыл бұрын
This looks interesting
@cannahacker96373 жыл бұрын
very friendly project!
@ChronoWrinkle3 ай бұрын
i wonder, why do you not scream at white github page..
@StiekemeHenk3 жыл бұрын
ImGUI, perfect for making hacks
@taddeustentakel85983 жыл бұрын
how u mean that ?
@StiekemeHenk3 жыл бұрын
@@taddeustentakel8598 Its common to use ImGUI when making cheats for games quickly.
@bls78793 жыл бұрын
just came here to say that xD
@cazz2 жыл бұрын
hahaha, yeah...
@sabriath3 жыл бұрын
Somewhat sad that they forced developers to keep calling all of the functions at every step...majority of gui can be rendered to a surface and then use callback functions if an area needs a redraw. I've done these things for years, it's much faster that way. Better still if you thread it and leave it completely automated, handling only through requests and callbacks.
@jocamar153 жыл бұрын
You're just describing retained mode UI frameworks. The idea of immediate mode frameworks is simplicity and ease of use, allowing programmers to make UI in a way more similar to how they would program other things.
@sabriath3 жыл бұрын
@@jocamar15 I am not seeing how it is "easier" to program each and every draw call and having to worry about depth, focus, input, etc., instead of simply "here's a window, manage it for me, if something happens let me know." Simplicity to me is: main = frame_new(-1, [10,10], [100,100]); button = button_new(main, [0,0], main.innersize, [clickme]); I guess I'm old school, just call me a boomer...but in my eyes, it is easier to separate out the code that is UI specific from the game code. In this way, technically, you could have all the UI loaded at the beginning and just ".hide" it until it is needed....rather than instance create/destroy and have a bunch of objects intertwined in the mess. To each their own, I just don't see the appeal.
@bocktiful3 жыл бұрын
@@sabriath Why do you suggest you'd have to care about "depth, focus, inputs" in dear imgui? Your example in dear imgui would be ImGui::Begin("Main"); if (ImGui::Button("mybutton")) clickme(); ImGui::End(); Which arguably is simpler already. And - You have a window which you can move, collapse, docking, even extract out of your primary viewport with the docking branch. - It works anywhere in your code EVEN in a deep call-stack for quick debugging. - The fact that it doesn't require storage of ui artifacts on your end means it also makes it much easier to use in dynamically recompiled/reloaded code. - Your example is completely omitting the MOST problematic aspect of retained ui is that when anything needs to be dynamic then suddenly you are in a world of pain. Synchronizing UI with live data is extra code as well as lots of bugs and those retained framework are not handling it efficiently. All those problems are going away with Dear ImGui. - Making DYNAMIC ui magnitude faster to create has a HUGE impact on development style. Everyone can suddenly create tools in a few minutes. Instead of calling yourself old school or a boomer and making claims about performance try to spend a day in Dear ImGui examples and make measurement. github.com/ocornut/imgui/wiki/Quotes
@rrnum72 жыл бұрын
Very late to the party, but I'd add something more. Immediate mode GUIs are nothing new; game developers have been implementing them for their in-house tools for ages, so the "I'guess I'm old school" just sounds ignorant. And yes, it would be much better to try to actually use it (and not just write toy examples, by the way) so that one can have an informed opinion. As Casey Muratori (the person who coined the term Immediate Mode GUI) wrote almost 20 years ago: "I think this has something to do with how simple the IMGUI concept is, as it leads people to think they understand it, and then they proceed to get into heated arguments as if they actually know what they’re talking about".
@sabriath2 жыл бұрын
@@rrnum7 Yeah, you are a year off of my original comment, and I still believe in my concepts that I stated. You can call it or coin it or whatever way you want, but I've always programmed backend systems to be as much "hands off" as possible for frontend programming. I actually just created an animation suite for gms2 using time sources....you literally tell it to move an object from one location to another and give it an interpolation function (like a lambda) so that it steps at specific rates, everything is handled in the background from there. You can overlay the animations with other things as well, like rotations, scales, etc.....you tell it, it goes, all encapsulated. If I wasn't currently in the process of making a video game, I'd be happy to program a proper gui backend that literally would take care of everything. Yes, I'm old school; yes, it's arrogant attitude, but more so built from decades of experience with many languages (including some that I've designed myself). It's funny because I actually hate other people's libraries because they are built so bloated, but I build many libraries for others, lol. I'm an asshole like that, but I like the pride it gives me for completing such tasks, don't really care about making friends.
@Awwe1267511 ай бұрын
شكراً
@kasper72033 жыл бұрын
Lol I have no clue what this is.. Really starting to doubt I will ever make a game
@Bozemoto3 жыл бұрын
Figure out what your goal is, is it to make a AAA game then you're better off trying to get into the industry. There are hundreds of people working at big studios, can't really match it with just one person. If it's a hobby then just grab an engine, maybe even RPG maker and get going. Do what you enjoy. Happy to offer advice if you need it.
@MarcV_IndieGameDev3 жыл бұрын
I'm new myself dude, it's exciting and confusing, looking into things can be mind boggling or inspiring. Take it slowly, and just dabble with stuff. See what you enjoy and see where your strengths and weaknesses lie. But above all, enjoy yourself - have fun.
@kasper72033 жыл бұрын
@@Bozemoto thanks mate.. Currently messing around in Unreal 4. I will try.. I am just easily intimidated when I see how much I ought to know before releasing anything.
@kasper72033 жыл бұрын
@@MarcV_IndieGameDev thanks bud I will try. Maybe in the end what I make (if I ever finish it) will not be worthy of publishing but you are right, the process of trying is reward enough. At least if it is just me working on it then I can't dissapoint anyone lol.
@SeraphixD33 жыл бұрын
Instead of working with some complicated framework in ImGui you just call a function and maybe give it some pointer to your data. A bool when clicking a checkbox for instance. It generates some data that can be used in a shader to display the gui. Or you just use the example implementation for your graphics API and your window framework / library. I just did the later for a simpel OpenGL renderer. -- You don't really need to know all the low level details to get into game programming, if you don't want to; you could just use an engine. Unless you really want to go do low level programming. Like I said, ImGui is just a bunch of functions that are almost self-explanatory. If you want to do graphics programming, I recommend the OpenGL API + glfw for window creation and input handling, because it is the simplest possible way (that I know of) to do that.
@sebastianbusch69052 жыл бұрын
So you basically read us github
@itsME-dc4vm3 жыл бұрын
Nice ;O
@alperenince31573 жыл бұрын
says "white theme, shield your eyes ugghhh" uses white theme github lol
@2002budokan2 жыл бұрын
I recommend this speaker to read the book "Uncommon Sense Teaching", which also has a course on Coursera, or watch the course videos. Maybe then he'll stop talking like he's in a hurry and produce more useful videos. Ok, I can slow down the speed, but what's the point of explaining like a racehorse?
@vaishnav_mallya3 жыл бұрын
1:52 😂
@nogagoesbrrr12753 жыл бұрын
microsoft flight simulator uses this
@KennethWilson-z8i2 ай бұрын
Schultz Fort
@LuizAntonio_Gameplay3 жыл бұрын
Create a tutorial ImGui.Net thanks
@CodingWorm3 жыл бұрын
can i get a shoutout
@Т1000-м1и3 жыл бұрын
35 minutes ago
@stewdean3 жыл бұрын
So many GUI toolkits look terrible. This is no exception.
@michaelbitzer72953 жыл бұрын
The looks can be changed however you want. It it just the default imgui style. Might take some time to have a nice style but once you do nobody will think it is imgui.