🌍 Download the FREE Project Files unitycodemonkey.com/dotsfreecourse.php ✅ Get the COMPLETE DOTS RTS Course! cmonkey.co/dotscourse 💬 Learn how to get MASSIVE PERFORMANCE to build any game you can imagine! Write code that runs 260x FASTER! 🔴 RELATED VIDEOS 🔴 Learn C# Beginner to Advanced FREE Tutorial Course! [12 HOURS] ruclips.net/video/qZpMX8Re_2Q/видео.html Take your Skills to the NEXT LEVEL by making a Turn-Based Strategy game! (Unity Complete Course) ruclips.net/video/QDr_pjzedv0/видео.html Learn Unity Beginner/Intermediate 2024 (FREE COMPLETE Course - Unity Tutorial) ruclips.net/video/AmGSEH7QcDg/видео.html Ultimate Unity Overview (70+ Tools and Features Explained!) ruclips.net/video/Wzj4OeqiwAo/видео.html EXTREME PERFORMANCE with Unity DOTS! (ECS, Job System, Burst, Hybrid Game Objects) ruclips.net/video/4ZYn9sR3btg/видео.html
The thing that genuinely amazes me about you is your consistency to your beliefs, that education is important for everyone that you'd even go as far to release these courses in full here on your channel. If nothing more than inspiration for game development and learning coding - you're an inspiration on how to stay true to what you believe in. Thank you :)
I just wanted to say thank you for helping people like me who can’t afford paid courses. I’ve been learning game dev for three years and learned so much from you. Your effort means a lot! I also try to share your content with others as much as I can because I think it’s really helpful. Thanks again for everything!
What an absolutely amazing series and an incredible gesture offering it for free. Probably the most comprehensive guide on DOTS there is but also incredible informative for learning Unity in general. In regards to the DOTS animation, Unity has announced the currently in development animation system will be built on ECS and all runtime code will be burst compatible. So the possibilities will be even greater in the near future.
2:00:41 You are so good at teaching these core features and how it all works, thank you so much for this course! I always have difficulty sticking purely to documentation without an example project to show systems intertwining or working together, so this has helped me so much to understand how it works so far!
Great tutorial. You're doing such a massive service for the community. Thank you from the cockles of my heart! Something to note for intermediate users that thought they might be saving time near the beginning of the tutorial by adding a 3d Cube or something to the parent Unit Object - it will automatically add a Collider Component to your object and this will make the UnitMoverSystem not move your child object. Just beware. You'll lose time if you don't follow closely.
Thank you so much for this tutorial. i was ready to give up on learning how to do multiplayer in unity then i found this :D so now im learning DOTS/ECS fundamentals to move on to Netcode for Entities, all thanks to you. (Edit) you did spot that edgecase at @4:53 - so nvm the rest of comment :D i did discover an edgecase around 4hrs 20min (nice!) where if you box select N units, then box select again, including previously selected units. it will trigger OnDeselected after OnSelected, and disable visuals (SelectedVisualSystem.cs "if onDeselected (line 17)) fix: move if OnDeselected before "if OnSelected" and OnSelected will have precedence over deselect, so the unit remains selected when its re-selected (units did remain selected (component enabled) but the visuals were deselected)
Maximum all of the basic functionalities we use in monobehaviour approach are covered in this ECS DOTS approach including physics. I have searched a lot for a DOTS practical tutorial. All are outdated and not with detailed explanation like this. You are a savior to us working on Unity 3D projects. By the way I love your voice. Your voice is an asset for this channel.
Thank you very much for this detailed free DOTS course! It's been a while since I used DOTS in 2021 for my free universe simulation A Hole In Space, so I am eager to see how it has improved since then. Moreover, I will try to create with the new DOTS a more performant vegetation system than the standard Unity terrain one. Let's see, if this is possible. I will post my results on the Unity Forum later then. EDIT: Holy guacamole is it fast! I just did a simple test run with 20.000 trees with about 80 million vertices. First as terrain, the CPU takes about 25 ms to render. Second as GameObjects (GPU instancing on, static batching off, otherwise the GPU and RAM went full), the CPU takes about 20 ms to render. Lastly, just converting them to entities by putting the tree GameObjects into the DOTS Subscene, the CPU takes about 5,7 ms to render, about 4x faster! Unfortunately, I had to switch the material to the standard HDRP one for this test, as the custom shader does not render as an entity and the Editor is not happy about so much objects, especially when you edit the prefab and it needs to update all its instances in the entity subscene, the RAM usage goes through the roof. But, that looks definitely promising.
Only 2 hours into the course and it's just as amazing as your free Unity Course. I love your ideology of free teaching materials for everybody and you're definitely one of the best creators for Unity out there. Keep up the great work and I'm looking forward to what the future has to offer for you, hopefully only good things. Greetings from Germany
Bro, thank you so much for this amazing tutorial. I really like the way you teach by focusing on real features, bugs, and problems. I've watched many tutorials about ECS, and I can confidently say that this was the best one. Thank you for making this tutorial free; it’s a truly great contribution to the community.
you have no idea how odd to see you make this right as i needed it, i was just getting in DOTs and searching for new tutorials and the newest was about 6 month or more and DOTs changed a punch since then, then after 1 day i find you making this video and I'm shocked ^_^. Thank you.
I was learning ECS for one week from random tutorials, totally confused. I made a small project, but any change takes me hours. Now I have new hope-it's you, Code Monkey! Thank you :)
Thanks a lot Hugo! Your effort into making this (and many other courses) is insane, and that too giving the courses to us for free is incredible. I'm going to like, comment and share with multiple accounts of mine to try and help with the algo (Though its much more complex than that with retention, ctr etc...)
Hey Hugo, looking at your paid course, one thing that I think people would really benefit from is a module on Unit testing. I found it super valuable to cover at least my more complex logic with unit tests so that it doesn't break when refactoring or improving. I couldn't see any module that was focused on that (although I haven't finished yet the whole thing so apologies if it is covered inside another module!)
dude's creating an awesome Course for a fair price, dude decides to get even more awesome by offering a huge portion of the course for free on RUclips A Legend
Grande Hugo, estou também a aprender DOTS, eu quero muito implementar isso no meu jogo, e ter um curso assim, é excelente, parabéms e muito obrigado por este excelente trabalho :)
Glad Unity is on good way again btw. I don't use it but some of my fav games run on it. When we at it, I make roguelike, initial version is already on NG and Itch. I will do my best.
This course looks like an absolute blast. Can't wait to get into it. The one thing I'd love to know about is skins. Eg if I want to have the option of my soldiers wearing a red beret or a blue beret, or change the hat to a traffic cone, how would one make those changes?
2:45:47 we can switch from timeline view to hierarchy view , there just type "mover" and it will filter it out and once selected switch back to timeline view to find it easily
Thank you for making so many soooooo good free Courses and on top of that even more good videos with nice topics (also GameDev Report is so nice Thank you for that too) i sometime think writing stuff like that dosn´t matter but this time i am just too grateful not to write something. Thank you! ❤
I hope you learn a lot! Sadly Udemy has some very restrictive rules that prevent me from putting my courses on there. Now I'm trying to make sure all my courses have a substantial free version of some sort. For example my C# course has the video lectures completely free, the premium version has a bunch of extra bonuses. For the DOTS course there's a free sample with the first third of the course, on Udemy that is not allowed. You cannot have a paid course that has a free version available that is more than 2 hours long. Udemy also has very strict pricing rules, all courses must be $20 which makes it impossible to do more niche courses like the DOTS course. And Udemy has a pretty terrible deal for course creators where if someone buys a course without being through my direct link I only keep about 20%. Meaning when someone buys one of my courses on Udemy for $20 I end up keeping just $1 to $4.
@@CodeMonkeyUnity Oh my god, it's so bad, I'm on your side my friend! Another question, Unity has just announced in its roadmap that it will implement ECS for all in the next generation, will this bring huge changes for dots?
Great job as always Hugo! However, I have a question to ask. I'm fairly new at game dev and have barely learned the basics on the GO-oriented side (mostly thanks to your videos). What I wonder is, is it a little bit too early to learn DOTS? I mean not for me, in general assuming there'll be a lot of changes and most things you show/teach in the video will be obsolete.
I'm not sure if you do fix this. However, if you single select a unit without the selected component such as the zombie, it will throw an argument exception. BTW, your courses are the best I have ever followed 👍. Edit: Never mind, it got fixed, nice.
I'm not a complete beginner but honnestly for me I do games for fun to play with my friends and it took me already a lot of time to understand the logic to have for making a game. It's very interesting but I don't think I will change my process because it mean to add a new kind of logics on my brain and that's too hard for the games I make. I keep watching and maye for one project I'll use that just to try
What determines what data should be put into IComponentData structs vs ISystem structs? For example, around 1:52:00, you're adding moveDirection and targetPosition to the UnitMoverSystem, and I was wondering why those could be added directly, while moveSpeed and localTransform had to be queried
Those are just local variables, there's no data being stored in the system itself. Technically you could store those in a component as well but that would be a waste since it's recalculated every time, no need to store anything.
Thanks for you efforts. A question is there going to be another course for netcode for entities. Since I cannot find much resources. And if you are going to make one, is it going to be any time soon? Thanks
Great tutorial as always! Are there any performance disadvantages of DOTS in mobile game development? Since its stack based, i wonder if it suits also to mobile since PC and mobile are different devices with different hardwares. Do you think its also possible for mobile to have massive entities?
🌍 Download the FREE Project Files unitycodemonkey.com/dotsfreecourse.php
✅ Get the COMPLETE DOTS RTS Course! cmonkey.co/dotscourse
💬 Learn how to get MASSIVE PERFORMANCE to build any game you can imagine! Write code that runs 260x FASTER!
🔴 RELATED VIDEOS 🔴
Learn C# Beginner to Advanced FREE Tutorial Course! [12 HOURS] ruclips.net/video/qZpMX8Re_2Q/видео.html
Take your Skills to the NEXT LEVEL by making a Turn-Based Strategy game! (Unity Complete Course) ruclips.net/video/QDr_pjzedv0/видео.html
Learn Unity Beginner/Intermediate 2024 (FREE COMPLETE Course - Unity Tutorial) ruclips.net/video/AmGSEH7QcDg/видео.html
Ultimate Unity Overview (70+ Tools and Features Explained!) ruclips.net/video/Wzj4OeqiwAo/видео.html
EXTREME PERFORMANCE with Unity DOTS! (ECS, Job System, Burst, Hybrid Game Objects) ruclips.net/video/4ZYn9sR3btg/видео.html
One hour ago I type "ECS tutorial" and nothing recent pops up
I go take a shower, come back and my wish has been fulfilled, amazing
For FREE?? U don't know how much we value these courses brother
He know
but not complete, it makes sense of course it must be some really tough work
You are so very generous to the aspiring gamedev community. We appreciate it!
The thing that genuinely amazes me about you is your consistency to your beliefs, that education is important for everyone that you'd even go as far to release these courses in full here on your channel. If nothing more than inspiration for game development and learning coding - you're an inspiration on how to stay true to what you believe in. Thank you :)
I just wanted to say thank you for helping people like me who can’t afford paid courses. I’ve been learning game dev for three years and learned so much from you. Your effort means a lot!
I also try to share your content with others as much as I can because I think it’s really helpful. Thanks again for everything!
I just finish watching your previous 1hr 27min DOTS video. Now you just upload the new one. Thank you so much, sir. Thank you. 🙏🙏🙏
Such a no brainer to get your full course! Keen up the good work and giving back to the community!
I am so happy for your channel's growth
Thank you for these types of free courses. I was waiting for one for DOTS, so this is a blessing.
Hurray! Thank you so much for making these free tutorials
Yes! I was waiting for this! Thank you Hugo, you're the best!
Finallllyyyyy its releaseee.... i was waiting for this for a looooooonnnnggg timeeeee!!! Thank u Hugo!
What an absolutely amazing series and an incredible gesture offering it for free. Probably the most comprehensive guide on DOTS there is but also incredible informative for learning Unity in general.
In regards to the DOTS animation, Unity has announced the currently in development animation system will be built on ECS and all runtime code will be burst compatible. So the possibilities will be even greater in the near future.
I'm glad you enjoyed it thanks!
Yup I'm definitely looking forward to Unity 7 and all the awesome DOTS-based tools they're working on!
Thank you so much for this free course! Hopefully the algorithm will understand its value!
2:00:41 You are so good at teaching these core features and how it all works, thank you so much for this course! I always have difficulty sticking purely to documentation without an example project to show systems intertwining or working together, so this has helped me so much to understand how it works so far!
This guy is an actual treasure. Easily the best game dev channel / teacher out there!
Thanks! I hope you learn a lot!
Great tutorial. You're doing such a massive service for the community. Thank you from the cockles of my heart!
Something to note for intermediate users that thought they might be saving time near the beginning of the tutorial by adding a 3d Cube or something to the parent Unit Object - it will automatically add a Collider Component to your object and this will make the UnitMoverSystem not move your child object. Just beware. You'll lose time if you don't follow closely.
Thank you so much for this tutorial. i was ready to give up on learning how to do multiplayer in unity then i found this :D so now im learning DOTS/ECS fundamentals to move on to Netcode for Entities, all thanks to you.
(Edit) you did spot that edgecase at @4:53 - so nvm the rest of comment :D
i did discover an edgecase around 4hrs 20min (nice!) where if you box select N units, then box select again, including previously selected units. it will trigger OnDeselected after OnSelected, and disable visuals (SelectedVisualSystem.cs "if onDeselected (line 17)) fix: move if OnDeselected before "if OnSelected" and OnSelected will have precedence over deselect, so the unit remains selected when its re-selected (units did remain selected (component enabled) but the visuals were deselected)
heh yup that edge case took me a while to notice, sneaky!
I hope you're learning a lot!
Maximum all of the basic functionalities we use in monobehaviour approach are covered in this ECS DOTS approach including physics. I have searched a lot for a DOTS practical tutorial. All are outdated and not with detailed explanation like this. You are a savior to us working on Unity 3D projects. By the way I love your voice. Your voice is an asset for this channel.
Wow that’s amazing! 7 hours of content for free??? Thank you so much code monkey 🥺❤️
Thank you very much for this detailed free DOTS course!
It's been a while since I used DOTS in 2021 for my free universe simulation A Hole In Space, so I am eager to see how it has improved since then.
Moreover, I will try to create with the new DOTS a more performant vegetation system than the standard Unity terrain one. Let's see, if this is possible.
I will post my results on the Unity Forum later then.
EDIT: Holy guacamole is it fast! I just did a simple test run with 20.000 trees with about 80 million vertices. First as terrain, the CPU takes about 25 ms to render. Second as GameObjects (GPU instancing on, static batching off, otherwise the GPU and RAM went full), the CPU takes about 20 ms to render. Lastly, just converting them to entities by putting the tree GameObjects into the DOTS Subscene, the CPU takes about 5,7 ms to render, about 4x faster! Unfortunately, I had to switch the material to the standard HDRP one for this test, as the custom shader does not render as an entity and the Editor is not happy about so much objects, especially when you edit the prefab and it needs to update all its instances in the entity subscene, the RAM usage goes through the roof. But, that looks definitely promising.
Only 2 hours into the course and it's just as amazing as your free Unity Course. I love your ideology of free teaching materials for everybody and you're definitely one of the best creators for Unity out there. Keep up the great work and I'm looking forward to what the future has to offer for you, hopefully only good things. Greetings from Germany
Your work here secures your place as a community leader. Thank you.
Thanks a lot!! I was waiting for it
Bro, thank you so much for this amazing tutorial. I really like the way you teach by focusing on real features, bugs, and problems. I've watched many tutorials about ECS, and I can confidently say that this was the best one. Thank you for making this tutorial free; it’s a truly great contribution to the community.
Thanks, This helps to identify where I could use DOTS to improve the performance in my game which is in production.
you have no idea how odd to see you make this right as i needed it, i was just getting in DOTs and searching for new tutorials and the newest was about 6 month or more and DOTs changed a punch since then, then after 1 day i find you making this video and I'm shocked ^_^.
Thank you.
Nice! I hope you learn a lot!
So much value ♥
Learned a lot and cannot wait for the IJob update.
Many thanks for the super thanks! I'm glad you learned a lot! Thanks!
I was learning ECS for one week from random tutorials, totally confused. I made a small project, but any change takes me hours. Now I have new hope-it's you, Code Monkey! Thank you :)
I hope you learn a lot!
Best free course ever, Thank you.
Amazing! Your older videos way back when dots was quite new were really helpful as well
Thank you so much, I have been waiting for this for a long time!♥♥♥♥
Thank you and thank you again for continuing to bring knowledge to the masses for free!!!❤🎉❤🎉
Thank you so much Hugo. Did the whole thing and learned a ton about DOTS syntax and usage. Doing great work for the Gamedev community!
Nice! Congrats on completing the course! I'm glad you learned a lot!
you are awesome man
really special thanks for free courses❤❤❤
I just finished watching your previous tutorials and you just upload next 7 hours tutorial
Can't wait to go through this
Thank you for posting this! Got through the whole thing.
Epic! Thank you for your amazing work!
Thanks, you're the best!
I'm really really surprised. ❤
Thank You Code Monkey for democratizing this knowledge.
Thanks a lot Hugo! Your effort into making this (and many other courses) is insane, and that too giving the courses to us for free is incredible.
I'm going to like, comment and share with multiple accounts of mine to try and help with the algo
(Though its much more complex than that with retention, ctr etc...)
Just bought your tutorial and joined discord ! :D
Thans for the good job
Thanks! I hope you learn a lot!
Awesome! Thanks a lot mate, I needed a tutorial on this to avoid reading the docs and most importantly trying and failing :P
Tack!
Many thanks for the super thanks! I hope you learn a lot!
Thank you so much! This is an excellent lesson on the game, exactly what I’ve been hoping for. Your lesson covers almost everything I wanted to know.
I'm glad you're learning a lot! Best of luck with your games!
this will be an awesome weekend :D
Good plan for the weekend!
Thanks for this course, DOTS is a complex subject, but you are teaching it throughout making a complete game, thanks.
The man is unstoppable👏👏
Hey Hugo, looking at your paid course, one thing that I think people would really benefit from is a module on Unit testing. I found it super valuable to cover at least my more complex logic with unit tests so that it doesn't break when refactoring or improving. I couldn't see any module that was focused on that (although I haven't finished yet the whole thing so apologies if it is covered inside another module!)
Code Monkey You absolute legend. Thank you for this.
hope the rest will be uploaded too :D either way thanks for this huge video, went through everything and helped me a lot
dude's creating an awesome Course for a fair price,
dude decides to get even more awesome by offering a huge portion of the course for free on
RUclips
A Legend
Grande Hugo, estou também a aprender DOTS, eu quero muito implementar isso no meu jogo, e ter um curso assim, é excelente, parabéms e muito obrigado por este excelente trabalho :)
great tutorial man, so much attention to detail. wonderful
I'm glad you're enjoying it! Thanks!
Thank you, right on time
Well good thing I did not have any plans this weekend other than trying to learn the dots haha. Thanks !
Thanks alot code monkey..... brother i can't thank you enough so greatful to have you as my mentor
Again thanks
it's here!
Thanks can't wait to watch in full
Fainally the vedio which I have wited so long from the goat
Finally My Dream Tutorial Came 🎉♥️🗿Thank you so much Code Monkey
Hey code monkey you are a true boon to game industry ❤️
WTF 1 MONTH AGO? 7 HOURS FREE COURSE? bro... idk if the course will be good or not but, that's a lot of work. You are amazing...
I hope you learn a lot!
Glad Unity is on good way again btw. I don't use it but some of my fav games run on it.
When we at it, I make roguelike, initial version is already on NG and Itch. I will do my best.
This course looks like an absolute blast. Can't wait to get into it.
The one thing I'd love to know about is skins. Eg if I want to have the option of my soldiers wearing a red beret or a blue beret, or change the hat to a traffic cone, how would one make those changes?
2:45:47 we can switch from timeline view to hierarchy view , there just type "mover" and it will filter it out and once selected switch back to timeline view to find it easily
i find hierarchy view a bit easier 😅
This codemonkey is the real wukong 🙌
appreciate, I'm 32 years old. I have no point what i want to do.
now i just begin learn c#.
Thanks for sharing this.
Don't give up.
@@h.kubilay6160 thank you
Just wow, releasing this for free is unbelievable.
I hope you learn a lot!
Appreciate your contribution so much!
Thank you for making so many soooooo good free Courses and on top of that even more good videos with nice topics (also GameDev Report is so nice Thank you for that too)
i sometime think writing stuff like that dosn´t matter but this time i am just too grateful not to write something.
Thank you! ❤
Thanks very much
Code Monkey is the hero we do not deserve.
That's awesome !! THANKS A LOT !!!
Thanks for this super useful video, commenting for the algorithm 📈📈
Wonderful course!
The way you have to be specific with queries to get the entities you want reminds me a bit of SQL.
Hello Hugo! Thanks for the amazing tutorials. Is there any plans for adding a save/load system into this course?
Bruh you released the whole thing for free? Legend..
It's amazing!!! Thank you!!
I can't believe this is a free course, that's crazy my friend! Will you be bringing the full course to udemy?
I hope you learn a lot!
Sadly Udemy has some very restrictive rules that prevent me from putting my courses on there.
Now I'm trying to make sure all my courses have a substantial free version of some sort. For example my C# course has the video lectures completely free, the premium version has a bunch of extra bonuses. For the DOTS course there's a free sample with the first third of the course, on Udemy that is not allowed. You cannot have a paid course that has a free version available that is more than 2 hours long.
Udemy also has very strict pricing rules, all courses must be $20 which makes it impossible to do more niche courses like the DOTS course.
And Udemy has a pretty terrible deal for course creators where if someone buys a course without being through my direct link I only keep about 20%. Meaning when someone buys one of my courses on Udemy for $20 I end up keeping just $1 to $4.
@@CodeMonkeyUnity Oh my god, it's so bad, I'm on your side my friend!
Another question, Unity has just announced in its roadmap that it will implement ECS for all in the next generation, will this bring huge changes for dots?
Thank you so much sir
Thanks a lot, you're a legend
🔥🔥🔥
Hi, Im very glad that you made this free, but how do we do the animation, can we use normal unity events?
Code Monkey is the best teacher
Great job as always Hugo! However, I have a question to ask. I'm fairly new at game dev and have barely learned the basics on the GO-oriented side (mostly thanks to your videos). What I wonder is, is it a little bit too early to learn DOTS? I mean not for me, in general assuming there'll be a lot of changes and most things you show/teach in the video will be obsolete.
I'm not sure if you do fix this. However, if you single select a unit without the selected component such as the zombie, it will throw an argument exception. BTW, your courses are the best I have ever followed 👍.
Edit: Never mind, it got fixed, nice.
Yup fixed st some point, I hope you're learning a lot!
Quick question, why do you sometimes use SystemAPI.GetComponent, and other times use SystemAPI.GetComponentRW? my understanding is reference vs value
I'm not a complete beginner but honnestly for me I do games for fun to play with my friends and it took me already a lot of time to understand the logic to have for making a game. It's very interesting but I don't think I will change my process because it mean to add a new kind of logics on my brain and that's too hard for the games I make.
I keep watching and maye for one project I'll use that just to try
Yup keep DOTS as just another tool in your toolbelt, use it for specific use cases (like pathfinding, complex AI) and keep Game Objects for the rest.
Thank you so much!!! 🙏
What determines what data should be put into IComponentData structs vs ISystem structs? For example, around 1:52:00, you're adding moveDirection and targetPosition to the UnitMoverSystem, and I was wondering why those could be added directly, while moveSpeed and localTransform had to be queried
Those are just local variables, there's no data being stored in the system itself. Technically you could store those in a component as well but that would be a waste since it's recalculated every time, no need to store anything.
Thank you so much🎉❤
Thanks for you efforts. A question is there going to be another course for netcode for entities. Since I cannot find much resources.
And if you are going to make one, is it going to be any time soon?
Thanks
TYSM
Thanks !
Thank you.
Great tutorial as always! Are there any performance disadvantages of DOTS in mobile game development? Since its stack based, i wonder if it suits also to mobile since PC and mobile are different devices with different hardwares. Do you think its also possible for mobile to have massive entities?