Nice Video! Bonus Tip: You can reference a node even easier by pressing ctrl + dragging it into the script and it'll automaticly write the line of code for you.
Awesome video! I've been trying to learn Godot for years now, but always went back to unity. With the recent news, I finally decided to switch and this video has helped me so much. Godot just makes so much more sense now, even after hours of tutorials. Keep up the amazing work!
I haven't been playing around with any game engine for while, used to do something in Unity before. Switched to Godot and I was literally looking for serialized field for hours, this vid helped! Thanks :D
Thank you, Gabriel! Awesome to hear you're looking at Godot, I've been a huge fan of your Unity VFX tutorials for a long time. Excited to see you've started to create similar content for Godot. How are you finding working with VFX in Godot compared to Unity?
yes... I found it very useful from both an ex-unity learner and just as a straight-out Godot tutorial. I've learned so much more than a lot of other Godot tutorials on RU-vid and elsewhere
Thank you so much for putting this together, it is extremely helpful and a real time saver! I really love btw how clean the node-base design of Godot is.
This was a fantastic video that really helped clear things up. I would love to find a video where someone can explain to me why some things are done and what's the best practice. Examples off the top of my head: 1. Which node should be the root of the given scene? In this video, you made all the rigid bodies the roots and the meshes under them. Is that just preference? Is there a reason to do it that way? What if I put the mesh first and the rigid body under it? In Unity, sometimes I'd use an empty game object as a parent and the parts would be sibling game objects under it. Is it reasonable to use an 'empty' Node2D as the root and add other specific things under it? 2. Where do you add scripts? It seems to be purely by preference where to add scripts. In Unity there isn't really a choice. You add it to the game object. Here it seems you add it to any component you want of that game object. So if I'm trying to handle collisions, I should probably add it to my rigidbody? But what if my rigidbody isn't the root and I need to know if what I collided with is what I expected? What if I have a script that will reference 3 or more different nodes within the same tree such as a casting node, a rigidbody, a collisionshape or whatever else? How do you determine which node to put that script on? What's the best practice? I'm starting to get a better understanding of the 'how' things work, but I'm still really struggling with the 'why' things are done the way they are.
Thanks for the video! It took me like 2 days to get an overall idea of how Godot does things it's way and started to actually like it more then Unitys component oriented, somewhat convoluted model. That prefabs are actually just scenes also makes designing and testing stuff in isolation way easier for me.
Excellent video im not moving from unity but godot has always cought my attention as a better way yo do things if i was not a crazy person writing my own engine. This vedio is just a good getting started tutorial grate work
The irony of creating the static physics enabled floor is that it reminds me of the early days with Unity when you had to manually add and set the components that, today, are automatically calculated/adjusted for you when you add them. If I had to point out the current issue with Godot that I'm facing when trying it out, it's the fact that there are too many functional differences between Godot 3.X and Godot 4.X. I see a lot of stuff (especially with gpscript) where something that is well documented on 3.X is not working anymore on Godot 4.X because they changed one thing or another. Some people are asking about why something doesn't work and I see, often, some answer that goes like "Ho! That was changed in Godot 4. It only works with Godot 3." and then I'm like... "Okay, then how does it works in Godot 4 then?" and the search on google is a minefield of Godot 3 documentations and explanation that doesn't fits anymore.
@@Bubardota2 Yeah. This is, in my opinion, the most underrated feature of Unity: How it manages deprecated codes by giving you a clear warning about the code being deprecated and what's the "new" method/changes to apply. If you still don't get how to use the new method/line, you at least got the actual name/reference to google and search about it. Godot is still heavily lacking on that area because it will only throws you an error telling you that a syntax or class or whatever is unknown and that's basically telling you "Good luck with that!".
Great video! This helped me get up to speed very very quickly! I have to admit that I'm surprised at the clean design of Godot. One of the things that I always liked about Unity was that it leaned into a Composite-decorator pattern. Before I started unsing Unity I had been using my own engines which worked this way so it was very natural for me. Godot seems to have taken this even further and on top of that it seems to already have several systems built in that might save me the trouble of re-working existing ones.
It's an awesome video, but you should have shown how to use C# on Godot instead, since that's the language used on Unity, maybe a whole new video just for that?
Thanks for the feedback! It’s on my list to cover C# but it’s definitely a bigger topic that would have made this video much longer than it already is. 😅
As near as I can tell, almost half the C# with Godot 4 tutorials on YT are by Mina Pecheux. Not that she has a lot of them; it's more that there are very few C# on Godot 4 tutorials! Chevifier has a few, and Muddy Wolf and Greg Dev Stuff have a couple each. @@NihongoWakannai
Yes! The number of Godot 4 with C# tutorials on YT (not counting videos on setting up with VS or VS Code) barely breaks double-digits. And Godot 4's been out for 6 months! And forget about any intermediate C# tutorials with Godot. Also, Godot could really use a Cinemachine! ;-) I've developed games in Unity for 6+ years, and switching to GDScript is a non-starter for me. Among Godot YTers, there seems to be a marked bias against C#, which certainly isn't welcoming ppl considering Godot from Unity!@@CodeWithTom
@@turkeyjerkeyWell to be fair Godot never expected this huge level of new users so quickly from Unity. Now they making C# first class citizen. So expect big updates in a few months. I got into Godot because GD script is so like Python and I do some stuff with Data science and Ai so it was just perfect for me. 😅
All those stuff it's I already found my self but I have a question If make prfube (seane) In good and I want to Chenge so value's that this object have how can we able to do that For example let say that I have create a Player and this Player need to have a heath system how can able to Chenge the health wean this charter is the own Sean in including the health system and the damage happened on the main Sean
What's the difference if you add a collision to the cube instead of doing a CollisonShape3d on the cube? I thought CollisonShape3d was for invisible collisions? Why actually make a second cube when StaticBody3d can be applied to any object?
There’s multiple ways of achieving the same outcome, you could nest the static body inside the MeshInstance if you prefer. Either way though you would still need to define a CollisionShape3D for the StaticBody3D since the Cube itself is simply a MeshInstance3D which is in itself not a PhysicsBody3D.
i don't like that some people think unreal is only for triple AAA or its too hard im a single dev and i've made some beauitful things in unreal in a very short timespan
Besides a few engine quirks, the biggest things annoying me with godot so far is the very cumbersome way to program in C++, the unfinished micro$hit C# implementation, and the very basic UI and input systems (hell, how do you even remap keys at runtime?! also ignoring that it turns input into if-trees).
@@CodeWithTom I can't stand untyped & indent based languages. Python drove me insane. I'd only use them if I had a job that required it, otherwise I'd genuinely wish those languages to be yeeted from existence! It's at least good to know runtime remapping is possible, I know unity's old input system couldn't do it and I actually enjoyed their new input system (and UI toolkit). I really want to like Godot, especially so I can dump Unity after the whole recent debacle but there's so many little things that make me question it :/ Like, I'm attempting to make a simple 3D puzzle game with an intent on mobile & desktop deployment. Not using GDS means I'm left with C#- no mobile support unless I use Godot 3, and C++ despite being claimed as supported seems so arse upwards to set up it begs the question of how supported it really is; and unreal for this type of game is definitely out of the equation!
@@BirbicusButticusAlthough it is indent based language, but actually static typing is possible. The optional static typing will increase a bit of performance (only in Godot 4) and also pop error if the types don't match.
@@BirbicusButticus I don't know if you ever used TypeScript but GDScript is similiar to TypeScript which is JavaScript with types. You can use it as duck-typing or you can use a static typed version. You can also mix booth. Static typing gives you type safety and is faster.
Completely agree. I'm a C# dev and man do I hate working with indent based languages. I've worked with Python and JavaScript/TypeScript for both work and (smaller) private projects, but I just can't get and don't want to get used to them. They all feel super inconvenient.. GDScript is actually the biggest issue I have with Godot (and has been for years now). Not quite sure how I should feel about a heavier focus on the C# integration either tho (as recently mentioned again by the guy behind Godot - for Unity refugees obviously) as this didn't turn out to be the greatest idea for Unity already, back when UnityScript (and Bo) was still a thing. Stuff like this just eats up way too many resources and continuously adds overhead to keep everything up-to-date. I'd prefer if they just stuck with one and push that forward. Preferably with an established language too. If GDScript is already "like Python" why not just go with Python directly? I don't really get it tbh. A slapped on "third party" language integration also brings the risk of just being discontinued if either the overhead gets too big or demand gets too low (similar to UnityScript back in the day), which is also constant FUD I don't really need in my projects.