Great tutorial! The Godot UI is actually so good that I rather use this to create a standalone app than using a Python API. And I havn't noticed any significant slowdowns yet.
Yeah I feel that.. I've seen the occasional non-game software pop up using Godot just for the UI features which is definitely a good sign and from all I've used so far it's definitely the fastest to get something decent set up.
Thanks for sharing! This video really closed the gap for me in getting the UI elements to show up in a useful/meaningful way relative to existing 2D/3D scenes. And you explained it all so well, really solid video! Thanks again.
Fantastic video, thank you. Just starting to add UI to my game and I needed a video like this: quick, clear examples which immediately filled in the gaps in my knowledge.
Dude that's awesome! Just today in comments to some other video I called Godot underworked in comparison with Unity. The more I learn about Godot the more I see that in many areas it's miles ahead of Unity.
Yeah I think it's a bit more subtle than one engine just being straight up better than the other. Unity is definitely more developed than Godot in certain areas, but honestly I swapped from Unity years ago and never had a reason to look back.
Great tutorial. With the unity situation, I figure this might be a good time to get into development, a lot of studios will likely be switching to Godot or other similar tools.
Thanks! And yeah, looking at the boost Godot and Unreal videos and such are getting right now... Unity management really didn't do their own engine any favours
Thanks for making this video. Really appreciate your time in making this. It would be cool to see real life game projects UI approach. I am lacking a godot tutorials for someone who can do basic and more advanced stuff but have no clue how to get that done better in bigger real life game project when things start to grow and simple solutions from POC are no longer ok. Keep up the good work!
17:20 I think, that you have to change there something in the project-settings, so that the buttons is always visible, when you scale the window. I can't check it right now, but i think, you have to set Mode to 'canvas_items' under Display->Window->Stretch. But again a very good and helpful video :)
Malachite is a nice rock.... Also thank you! Wished I watched this earlier, it's a very complete and clear tutorial. Only question is, what if I want to resize non-control elements? Like a Sprite2D? Going to find this out i think....
yeah for other nodes it depends what you're trying to do I guess. they do have scale attributes, but they won't scale automatically like control nodes (though project settings should have you covered on most options needed to make sure the game works on any screen size at least)
unfortunately, the most important part for me is not shown.... looks neat but if you change to fullscreen, the ColorRect does not scale and stays small.
nice tutorial! i’m quite new to godot (unrelated to unity lol, i’m just getting into gamedev) and this was helpful! do you have any plans on covering other types of nodes?
Thanks! I'll definitely be doing more videos on various nodes, yeah. For the time being the plan is to do a video more or less once a week, going through Godot 4 topics as they come of either through questions I see people asking online, or whatever sounds like it might be interesting.
When I put a control node under my Game (Node2D) node, and I select full rect (or any other) it doesn’t show/scale anymore. However when I put down a canvasitem under my game node and put control in there it does work. Is that normal?!
"Full Rect" is defined relative to a parent, being either a canvas/viewport, or another control node. So while you can set a size manually, there is no definition of what "full rect means" when the parent is a Node2D which itself has no rect at all. So I think that's probably what's causing your issue. I'm more confused why it does work for a generic canvasitem, though I never tried that before.
@@iaknihs thanks for the info. I’m still confused as to the seemingly inconsistent behavior. Years of developing UIs in Qt and Swing probably instilled a different perception and assumption how things work 🤣I would’ve thought a Node2D (the 2D in there) would be at least a single pixel. Because we also have Node 🤣
By default mouse click events are triggered by touch as well. In the Project Settings under Input Devices you can adjust that though (Emulate Touch from Mouse, Emulate Mouse from Touch, or disable both to keep events separate)
(23:12) That right there is the single-worst part of #GODOT. The child can override the parent. That is horrifying and leads to all kinds of interruptions in a pipeline as you search through children trying to get them to listen to their parent. That is insane.
I think to be safe it can help to limit overriding to "only if you have a really good reason" and usually keep one consistent theme for all elements within each part of a game (or even entire game). I only applied a theme to 1 element to demonstrate what it does compared to unmodified nodes, but in an actual game that's what I'd do. But yeah it depends a lot on the project. Not really sure atm how Godot could avoid this though? Like the same thing can happen in HTML/CSS as well if modifying individual elements too much