Switching from Unity to Godot: The Definitive Guide

  Рет қаралды 17,520

Code with Tom

Code with Tom

Күн бұрын

Switching from Unity to Godot? This video covers everything you need to know to make the switch. I cover all the fundamental concepts you'll need to know to become a Godot developer and contextualise them with their Unity counterparts.
Chapters:
00:00 - Introduction
01:14 - Downloading Godot 4
01:52 - Project Manager
04:50 - Godot Editor
06:10 - Nodes (Unity: GameObjects)
06:50 - File System (Unity: Project Panel)
07:42 - Inspector
08:25 - Nested Nodes (Unity: Components)
09:05 - MeshInstance3D (Unity: Create Cube/Sphere etc)
10:20 - Camera3D
11:55 - RigidBody3D & CollisionShape3D (Unity: Collider Component)
15:46 - Scenes (Unity: Prefabs)
18:43 - Environment (Unity: Camera Post Processing)
21:38 - UI
24:01 - Adding Scripts (Unity: MonoBehaviour)
25:54 - Signals (Unity: Events)
29:15 - Script Life Cycle Functions (Unity: Start, Update etc)
30:48 - Animation Player (Unity: Timeline)
34:56 - Input Map (Unity: Input Manager)
38:25 - "@export" keyword (Unity: [SerializeField])
41:36 - Autoloads (Unity: Singletons)
44:04 - Summary & What's Next
---
Become a VIP: / @codewithtom
Discord: / discord
Twitter: / codewithtom
Github: github.com/codewithtom

Пікірлер: 80
@N3w1M
@N3w1M Ай бұрын
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
@loneryouth
@loneryouth 9 ай бұрын
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.
@CodeWithTom
@CodeWithTom 9 ай бұрын
Awesome tip, thank you!
@artxiom
@artxiom 9 ай бұрын
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.
@CodeWithTom
@CodeWithTom 9 ай бұрын
You’re very welcome! I agree, the node based design philosophy of Godot is great once you get used to it.
@GabrielAguiarProd
@GabrielAguiarProd 9 ай бұрын
Enjoyed this tutorial very much. Nicely done! 👌
@CodeWithTom
@CodeWithTom 9 ай бұрын
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?
@MitchMaki
@MitchMaki 9 ай бұрын
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!
@CodeWithTom
@CodeWithTom 9 ай бұрын
Glad I could help! And welcome to Godot :D
@introyvert
@introyvert 8 ай бұрын
excellent starter video.
@CodeWithTom
@CodeWithTom 8 ай бұрын
Thank you!
@BlueSteelAUS
@BlueSteelAUS 9 ай бұрын
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 KZbin and elsewhere
@CodeWithTom
@CodeWithTom 9 ай бұрын
Great to hear, I'm glad you found it useful!
@upgames1313
@upgames1313 9 ай бұрын
A lot of good info presented clearly and straighforwardly. This saves me so much time. Thank you!
@CodeWithTom
@CodeWithTom 9 ай бұрын
You're very welcome! I'm glad you found it useful.
@adenashiscave
@adenashiscave 9 ай бұрын
Fantastic video! Will definitely be watching it multiple times as I get used to Godot. Thank you for creating this!
@CodeWithTom
@CodeWithTom 9 ай бұрын
Awesome! Thank you!
@GetLearnt
@GetLearnt 9 ай бұрын
Love it! Thanks for this, Tom. Really energizing me to get back into some Godot shenanigans. :)
@CodeWithTom
@CodeWithTom 9 ай бұрын
Hey Chunck! Thanks, I'm glad you liked it! I hope you're doing well, great to hear you're getting back into Godot!
@GetLearnt
@GetLearnt 9 ай бұрын
@@CodeWithTom I'm doing very well, same to you! Can't wait to catch up on Godot content you may have planned for us. :)
@EriksBlue
@EriksBlue 9 ай бұрын
Ty for the video I’m currently working on bringing over my first person grid based dungeon crawler from Unity. And a breakdown is so helpful.
@CodeWithTom
@CodeWithTom 9 ай бұрын
Glad I could help! Your first person dungeon crawler sounds really interesting!
@mad_fresc4842
@mad_fresc4842 9 ай бұрын
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.
@CodeWithTom
@CodeWithTom 9 ай бұрын
Totally agree, once you get used to it it starts to make a lot of sense and feel really natural.
@taras.batura
@taras.batura 9 ай бұрын
Thanks a lot! This is an excellent intro to Godot from the unity user perspective.
@CodeWithTom
@CodeWithTom 9 ай бұрын
Glad you found this helpful!
@killpopers
@killpopers 9 ай бұрын
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
@CodeWithTom
@CodeWithTom 9 ай бұрын
Thank you and good luck with your own engine!
@jamesclark2663
@jamesclark2663 7 ай бұрын
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.
@milestails8
@milestails8 7 ай бұрын
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.
@travisback6756
@travisback6756 9 ай бұрын
Great video. Chapter markers would help a lot.
@CodeWithTom
@CodeWithTom 9 ай бұрын
Your wish is my command! Chapters have been added.
@masterox2
@masterox2 9 ай бұрын
Still not ready to switch but great video❤
@CodeWithTom
@CodeWithTom 9 ай бұрын
Thanks I appreciate it!
@creationsmaxo
@creationsmaxo 9 ай бұрын
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
@Bubardota2 9 ай бұрын
the sole reason why i m finaly back on gamemaker 2 , the tutorial can be 6 or 1 years old and it will work.
@creationsmaxo
@creationsmaxo 9 ай бұрын
@@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!".
@TheTimeProphet
@TheTimeProphet 9 ай бұрын
Yes this was a good tutorial. I just wish more tutorials showed C# though.
@CodeWithTom
@CodeWithTom 9 ай бұрын
Thank you! I'll try and cover some C# content in future videos.
@turkeyjerkey
@turkeyjerkey 9 ай бұрын
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
@madjunir
@madjunir 9 ай бұрын
​@@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. 😅
@ramonoliveira1036
@ramonoliveira1036 9 ай бұрын
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?
@CodeWithTom
@CodeWithTom 9 ай бұрын
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. 😅
@NihongoWakannai
@NihongoWakannai 9 ай бұрын
​@@CodeWithTom do you know of any channels with a good C# guide for godot?
@dzibanart8521
@dzibanart8521 9 ай бұрын
You use the mono version, but honestly GD script is so easy to pick up and easy to write with you should consider using it.
@turkeyjerkey
@turkeyjerkey 9 ай бұрын
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
@watercat1248
@watercat1248 9 ай бұрын
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
@TrippyGamer
@TrippyGamer 9 ай бұрын
what would be the unity equivalent of scene in godot (not prefabs but game scene which are included in build index)
@CodeWithTom
@CodeWithTom 9 ай бұрын
In Godot it would still be a scene. Scenes can be entire levels of your game, menu screens, small "prefabs" etc.
@mviko001
@mviko001 9 ай бұрын
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?
@CodeWithTom
@CodeWithTom 9 ай бұрын
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.
@lang_games
@lang_games 9 ай бұрын
Is there a way to animate within Godot? In unity I would use probuilder to build the models and animate them. Does Godot offer anything like that?
@malserAI
@malserAI 9 ай бұрын
Yep. You can animate directly using Animation and keyframes.
@wiktorwektor123
@wiktorwektor123 9 ай бұрын
Godot have AnimationPlayer node and AnimationTree. You can literally animate any property of any node, not only models or sprites. Everything.
@CodeWithTom
@CodeWithTom 9 ай бұрын
I show this in the video, it’s called the AnimationPlayer and allows you to set key frames on any property of any Node.
@bioburden
@bioburden 9 ай бұрын
But nothing like Pro Builder unfortunately.
@chhatrapatikumar
@chhatrapatikumar 9 ай бұрын
Unity has unity remote 5, Is there something similar for Godot to live playtest game on Android mobile devices ?
@CodeWithTom
@CodeWithTom 9 ай бұрын
This is a good question! If I find out the answer I'll respond here.
@HenryLoenwind
@HenryLoenwind 9 ай бұрын
Godot will automatically detect if you have an Android device connected and offer you to debug-deploy there if you have an Android build configured.
@tearlaments-merli
@tearlaments-merli 7 ай бұрын
thank you, now I can never finish my projects, but in godot
@oofmanoofguy4494
@oofmanoofguy4494 9 ай бұрын
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
@CodeWithTom
@CodeWithTom 9 ай бұрын
Unreal Engine is a fantastic engine for indies too, I agree!
@Rogueixpresents
@Rogueixpresents 9 ай бұрын
would be nice if C# felt a bit more performance instead of marshalling, godot needsa first classcitizen support on C# plz plz plz plz!!!
@madjunir
@madjunir 9 ай бұрын
That's definitely coming. They working hard on it now.
@mayank4156
@mayank4156 9 ай бұрын
1 single thing I don't like about Godot is that it calls prefabs as "scenes" aswell.
@CodeWithTom
@CodeWithTom 9 ай бұрын
It doesn’t. It calls Scenes “Scenes”. They just happen to serve a similar purpose, but they’re much more flexible than Unity Prefabs.
@TheMeanArena
@TheMeanArena 2 ай бұрын
No visual menu, no functional undo system = no thanks!
@BirbicusButticus
@BirbicusButticus 9 ай бұрын
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
@CodeWithTom 9 ай бұрын
I highly recommend giving GDScript a try instead. There are also several videos available on KZbin that explain how to do runtime key remapping.
@BirbicusButticus
@BirbicusButticus 9 ай бұрын
@@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!
@simonlow0210
@simonlow0210 9 ай бұрын
​​​@@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.
@wiktorwektor123
@wiktorwektor123 9 ай бұрын
@@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.
@Stunex
@Stunex 9 ай бұрын
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.
choosing a game engine is easy, actually
15:08
samyam
Рет қаралды 320 М.
Why Stairs Suck in Games... and why they don't have to
11:24
Nick Maltbie
Рет қаралды 1,5 МЛН
Vivaan  Tanya once again pranked Papa 🤣😇🤣
00:10
seema lamba
Рет қаралды 32 МЛН
OMG🤪 #tiktok #shorts #potapova_blog
00:50
Potapova_blog
Рет қаралды 18 МЛН
Professional animator works on subscribers' Unity games for free.
22:20
Godot For Unity Developers
27:43
Gamefromscratch
Рет қаралды 169 М.
My experience with Godot so far (8 months into my new project)
13:33
Puzzling Gamedev
Рет қаралды 1,5 М.
INVENTORY & ITEM SYSTEM in Godot
50:30
Code with Tom
Рет қаралды 55 М.
Making My First Open World Game | Devlog #1
7:18
advancenine
Рет қаралды 637 М.
One Week of Learning Game Dev in Godot
15:27
RachelfTech
Рет қаралды 32 М.
Why I switched from Unity to Godot
7:34
Miziziziz
Рет қаралды 423 М.
Vivaan  Tanya once again pranked Papa 🤣😇🤣
00:10
seema lamba
Рет қаралды 32 МЛН