Yeah something about how to break it down into different logical parts. I've always been doing this kind of thing anyway creating prefabs for important mechanics in their own test scenes and then using the prefabs to spawn them into other scenes but hearing some other points could really help just to validate what things I've been separating and where I could improve (definitely in anything animation haha I can't for the life of me get anything to work haha)
You are breaking logically similar gameobjects in different scenes and then load those scenes additively ✌🏻frequently people are creating UI scene separately and then load async aditivelly to main scene. But keep in mind in such approach code must be decoupled
Great advice for people trying to get into game dev with Unity. Over the years, I have slowly started incorporating these concepts into my games. The only one that is new to me is Multi-Scene Workflow, I would love a tutorial on that as it seems it would save a lot of time in development. Keep up the great work.
Same, I would also like to see a tutorial on that concept of Scene workflow. I've been primarily working in UE4 lately, but UE4 has a similar scene system. Persistence between scenes is something not many people talk about, but something that's very core to a lot of development. I had never considered having almost a hierarchy of "dummy scenes" for my various loaders and managers.
Been working on my first commercial game in a 2 man team for a year now. Really informative video. We have learnt so much by going through the process and also thanks to you! Your videos are a godsend! (The game is called Containcorp if anyone is interested.)
Just quick tips for people that want to rename their Functions or Scripts .. select the Function and then click (Ctrl > R + R ) this will rename the function or the variable or the script in every other reference so you will not get any errors
Careful tho, with Unity renaming function in a script breaks any scene reference if any (if you use UnityAction for instance). So if you used that function in editor, you will have to reassign its reference :)
I'll add a vote to a multi scene tutorial. Sounds awesome! But I've got to say, Milanote blew my mind. I'm not sponsored, but this is exactly what I've been looking for! Thank you so so much for the tips! Oh, and you've earned yourself a subscriber! ;)
That's some useful tips, except the anti-git one, it's like you didn't even tried to use the graphical interface versions that makes it easy, and a lot of what you said about the other systems is already doable in git. Yeah,its more for programmers, but hey, you often don't need the more complex use of it
the crux of the point was that git isn't made to handle the large and varied file types that appear in game development, not that git's unintuitive. Yes git LFS exists, yes it's perfectly doable (I'm a git user myself), but surely we can all agree that it's hardly the perfect version control system for game development in particular.
NO! No! NO! Don't do this to newcomers. We have suffered enough until we sorted it out. Don't let them into the hell. It's not worth it. Go with anything ELSE than GIT. It's not worth it. If you are ever going to believe one stranger on the internet you have never met before, let it be this instance, and DON'T GO INTO GIT!
I've learned a lot, I'm still getting used to programming with Unity and as a solo developer, some of these pro tips will take time to implement, would be glad to see more videos to help me along the way.
As a student who crunched hard with his team for the last 4 days to get a project done on time because we did not know how to work parallel this video would have been a godsend.
Standard naming conventions exist for a reason 👀 if you invent your own naming conventions, you're just making a load more work for yourself. I don't mind too much and if you don't find the standard ones useful then fine, but once you get into the habit it's really useful. Plus if you've got an IDE like Rider that auto suggests it, it's not really any extra effort. Using plastic instead of git is interesting though, I might give it a go! I do like git and am very used to working with it, though 😂
My own tips would be : -work as a team! It's something that a lot of people don't get when starting out but it's really good for both you and your games. It helps to have more people looking at your work, giving you tips, sharing their vision of a great game and all that stuff -do game-jams! Finishing games, exporting, meeting deadlines, knowing what stress is like in this kind of job is really something that'll improve how you work. You'll probably learn more in 3 week-long game jams than in 6 months of game dev' school.
Please please, more on multi-scene. I was under the impression light baking, physics and more would be a major pain and I'd love to hear more about navigating the lot. Seems to be massively requested
I feel there are not enough documentation or tutorials to enable me to make good/useful Custom Editors. I often search for tutorials about it and would even pay for a good course on the subject. Would LOVE a good series on how to make a Message Node-Based Editor.
Takes a while to learn to get them to a decent quality, I guess, but once I started making my own tools and inspectors I didn't look back. You'll mainly want to learn the EditorGUILayout, GUILayout, GUI classes. All ongui ui stuff can be used in custom inspectors and windows too. The stuff in the Gizmos class is also pretty useful. I wouldn't recommend using the new UI code using Visualtrees to start though, it gives you more control but you end up using a lot more code for the same results. Check the unity Editor API page for simple examples, but generally it's not hard to find tutorials on how to do node editors or similar stuff ("just search Creating a Node Based Editor in Unity"), which can be good practice.
Tip: Talk with your teammates, cause it's really frustrating to work on something for a few days just to know that they meant completely different things.
I use several separate projects for prototyping elements, and one main project for the integration. Its good not to try crazy new stuff in the main project, as this will be a lot more cumbersome to work with, and also can result in a lot of messy or abandoned assets.
Very nice video as always! 💪🏻 You mention some every interesting tool that I would really love to see more about. The upload to Steam and icon preview generation - is that something you have shared somewhere?
I like all of these tips, except the version control one. I love Git, the command line interface is really useful and once you get a grip for it, it can be pretty powerful. Edit: Could you share the Steam Builder editor extension you made?
@@ShiNijuuAKL GitKraken is pretty good for beginners like you, as soon as you start working on real projects one day you'll see the benefits of git cli
@@nikolicd91 I'm not a beginner, I am a senior developer with 5 years+ of experience and I started by using the cli and migrated later. After using UI tools I have only needed to use the cli 2 times (apart from doing git clone which is faster to do on cli most of the time) unless I'm dealing with server stuff, but there I often only do pulls. I wouldn't recommend gui for beginners, let them know what's going on first!
Those custom tools you mentioned in the video, are they available anywhere? Particularly the Steam, Icon Generation and Localization have me very curious :) Great vid!
First off. Love your content and im super thankful for your passion and time. Second of all, would love to see an indepth tutorial on how to get the basics down of tool development. Ive been wanting to do so for a while now but cant seem to find a good tutorial that explains things like you do. Keep up the good content and i hope youre doing well these days!
Hi! Nice video, as always! 👍🏻 One question: I am surprised that you haven't mentioned Unit Tests as a good practice. Isn't it common in Unity Game Development to use the Test Runner and write tests for your functionality? And +1 on a tutorial on the multi scene workflow! I would like to watch that. 😁
TDD is not really worth it in games imo. Problems in games are usually not isolated in small units. Watch Jonathan Blow rant about it here: ua-cam.com/video/21JlBOxgGwY/v-deo.html&ab_channel=JeruSanders
This video is priceless! @4:50 Although I have a different opinion on that naming convention. A file's name doesn't need to carry its type, category, or hierarchical information. That's where folder structure and search filtering can be used instead. For instance, a material inside a 'Character' folder means it's the character material and no need to include that in the material's name. Or a prefab is a prefab, no need to include that in the name either. It's like suffixing every script with a '_script'.
The multi-scene workflow looks great. But I can't find those scene collections anywhere. Are those from a package or do you have to create those scriptable objects on your own?
As always great video! I've been trying to make my own custom tool for a behaviour tree system too (both of which are difficult haha) but it's really has proven the importance of creating custom tools in improving and speeding up your workflow in the long term.
I always found your videos super useful. This one is no different, but I think you've been a bit harsh about Git and Github. I use Plastic in my new job, and man I never been so frustrated. One thing that makes me hate Plastic is the GUI in general: not flexible, not customisable, no dark theme and no persistent layout and options across repositories. I work on a lot of different repos, and more are created each day, and I need to redo all the GUI configuration each time. It takes forever for no reason. Man, the GUI is not even the same on Windows and macOS! Needless to say that some default settings are REALLY dumb: on what earth not being able to switch branch or commit because changes or new files has been made is a thing? The only thing it does better for me is dealing with large files. The lack of integration is a bummer too: no web interface, no pull requests (don't tell me about this joke of a "code review" tool, please), no notifications... Code versioning is not only about synchronizing a workspace this days, and it clearly lacks on Plastic. In my previous job we used Git wih Github. My git client was Sublime Merge, and I never had any problem with conflicts, merge fail, losing things. I mean come on, plastic is the same under the hood, if you can use Plastic, you can use Git with the same confidence.
Sure you can switch branches at any time, just git stash your current work and retrieve it when you get back to your branch where you we working. Also I prefer to run my own Git server, much faster to work and no annoying limits or fear that the service might go do, there is even pretty nice web interface, Gitea, that imitates Github and other similar sites.
Great advices! I'm also using a multiple scene workflow but not in such a granular way. Dealing with annoying scene mergin every day right now... have to try that!
The first video that agrees with the fact that "tools matter", in these days that 99.99% of videos says this b*****t that "tools don't matter!!" and waste so many people's times and lives. Believe me, ALWAYS reconsider bad tools and replace them with good ones.
I think the problem with using git with Unity is the .meta files, and that's hardly gits fault. That said if the other solutions you suggested solve the "not committing the .meta files" then it's a very valid suggestion.
3:21 I just don't understand how your multi-scene workflow loads in the Editor. If I add multiple scenes, everytime I re-open the parent scene, all other scenes are gone, I have to re-add them (when in the Editor).
Really great video as always. That SteamBuilder custom editor looks really sick, just from the view of it I'm trying to recreate it but it would be awsome if we could get somewhat of a tutorial of it. Keep up the great work!
I completely agree on the GIT part. It's just a name. An empty popularity. It's convoluted. It's so far from being user friendly that you can't see it with hubble telescope. Even James Webb telescope will have hard time on it. Those who say you can use it have in fact undergone a period of trying to figure it out so horrible that their brains have blacked those memories out to prevent them from falling into suicidal depression. As the video says, it looks fine when everything is at a normal flow. But ONE hiccup in the flow, one mistake by a member, or god forbid, YOU, then you WILL lose progress. Anyone who has been using GIT and says they've never lost progress is either lying or in hard denial. Stay away newcomers. DON'T USE GIT! Even cloning your folders by hand is better than that sh...
Great video keep it up. I've never been sure about using a multi scene workflow as I didn't know if it was good practice but glad to see others use it. Also I loved the look of some of your tools especially the one that automatically generates the icons would love to see a video on something like that. But anyways amazing work and I'm looking forward to your next vid
Really good tips, until the Git part... You can use Git LFS for asset (binary file stuff), you can set git to run locally, so that you don't actually have any costs for code repository, and it's the defacto code repository tool used in all IT industries. Gaming is still playing catch up on this, and you don't need to be a command line PHD to use it, there are UI tools for it, that simplify a lot of the needs. You do need to learn concepts, that apply to any code repostiory tool, like branching and versioning. If you wanted to upsell Plastic SCM you shouldn't have down play Git... It's not for everybody, and anybody can use anything, but be mindfull of comments without good knowledge of something...
You know what is even better then multy scene workflow? Using f-ing prefabs dude. They are the thing that works best for team work. Right now im working on game that has been overscened and its a nightmare to work with. If you with said scene - noone else can. Its BS.
I prefer using Unity Collab as my source control, I've used other but get more of a headache using them, so always revert back to Collab. What do you think about Collab?
As for naming conventions, what are your thoughts about code linting? Most often than not I have a "clear" convention I follow along the project, but having automatic code coverage for that eventually becomes handy, specially while working on a team. Maybe I'll consider using it for personal projects, just to be sure I'm keeping things consistent
Any chance you could make a tutorial on your bootstrapper system/script?? I would love to see how you do that and learn from it as we are now also implementing this scene-system-organization-thing in our project! Thanks for the tips btw!
Great list, especially being so vocal on GIT. There are a lot of people out there who think, only because Git is used widely, it is a good solution. It is for projects like the Linux kernel, but for smaller projects, especially games, Perforce and Plastic are much more convenient. Actually, I don't know one professional game studio using GIT, they all use Subversion, Perforce or Plastic.
git is absolutely fine for smaller unity projects. You may wish to use something else if you have large amounts binary files but I've never found it to be a hinderance even with git lfs. It's not perfect however and for a larger project I probably would checkout another but I disagree that it's not convenient on small projects.
What have git ever done to you? It sounds like you could spend some more time learning it. I don't use Plastic, I was considering it. But however, their monetization strategy is killing it. I'd love to use it if I could host my own repository on my server, I don't want _everything_ to be in the cloud, even less pay for it.
@4:28 Hard Disagree. Reason: If you have strict naming and coding conventions you can simply assume things about code you haven't written yourself without getting into any major trouble / having to go into the implementation to double-check. Sure, good doc comments can help with that but they are often not necessary if you have a well-organized code base.
As our project became bigger, we got more and more issues with Unity editor performance. Delays while compiling, running simulations and even after minimizing/opening the Unity window. It's harder each day to work on a project. How do you handle this? I would be very appreciative for advice :)
@@GameDevGuide assembly definitions won't save you from fricking domain reloading problem: docs.unity3d.com/Manual/DomainReloading.html . In big projects this shit can make even empty scenes starts for like 1 minute or even longer. And it happens not only when you hit start, but after EVERY recompilation as well, so if you want to change something and just hit play and test it (or run playmode test), you have to wait twice as long - 1 minute when compiling (yes, even when you just compile only 1 tiniest assembly), and 1 minute to game start running... Best workflow!
About your anti-git comments, I agree that git could be improved like locking files and some extra features, but git is a awesome tool that can be really complex if you want, but the basics of it is really simple.
If you have multiple scenes in your project and have one already open right click on another scene and click on “OpenScene Additively” im studting open worlds and it helps to organize your scenes and label them appropriately to know which scene youre opening
Ah hahaha, if only my passion for game development meant I understood it well, cuz I didn’t even understand like one thing (besides the naming conventions)
I would love to se what multi scene workflow is about in a future video
i was about to write the same
Yeah something about how to break it down into different logical parts. I've always been doing this kind of thing anyway creating prefabs for important mechanics in their own test scenes and then using the prefabs to spawn them into other scenes but hearing some other points could really help just to validate what things I've been separating and where I could improve (definitely in anything animation haha I can't for the life of me get anything to work haha)
You are breaking logically similar gameobjects in different scenes and then load those scenes additively ✌🏻frequently people are creating UI scene separately and then load async aditivelly to main scene. But keep in mind in such approach code must be decoupled
Yeah I'd love to see a video for setting up the workflow
I would also love to see more info on this. How do you test individual scenes on the Unity editor using this behavior?
Great advice for people trying to get into game dev with Unity. Over the years, I have slowly started incorporating these concepts into my games. The only one that is new to me is Multi-Scene Workflow, I would love a tutorial on that as it seems it would save a lot of time in development.
Keep up the great work.
Same, I would also like to see a tutorial on that concept of Scene workflow. I've been primarily working in UE4 lately, but UE4 has a similar scene system. Persistence between scenes is something not many people talk about, but something that's very core to a lot of development. I had never considered having almost a hierarchy of "dummy scenes" for my various loaders and managers.
We need a full deep tutorial about multi scene workflow.
Yupp!
YEEES
Yep
Been working on my first commercial game in a 2 man team for a year now. Really informative video. We have learnt so much by going through the process and also thanks to you! Your videos are a godsend! (The game is called Containcorp if anyone is interested.)
That multi-scene workflow stuff sounds really cool, I'd love to see an expanded video on the topic!
Great tips. A more in-depth tutorial on multi-scene workflow would be great too.
Just quick tips for people that want to rename their Functions or Scripts .. select the Function and then click (Ctrl > R + R ) this will rename the function or the variable or the script in every other reference so you will not get any errors
Careful tho, with Unity renaming function in a script breaks any scene reference if any (if you use UnityAction for instance). So if you used that function in editor, you will have to reassign its reference :)
I'll add a vote to a multi scene tutorial. Sounds awesome! But I've got to say, Milanote blew my mind. I'm not sponsored, but this is exactly what I've been looking for! Thank you so so much for the tips!
Oh, and you've earned yourself a subscriber! ;)
Custom Script Icons!! I had no idea that was even an option. Thumbs way up for that visual tip 👍
That's some useful tips, except the anti-git one, it's like you didn't even tried to use the graphical interface versions that makes it easy, and a lot of what you said about the other systems is already doable in git.
Yeah,its more for programmers, but hey, you often don't need the more complex use of it
the crux of the point was that git isn't made to handle the large and varied file types that appear in game development, not that git's unintuitive. Yes git LFS exists, yes it's perfectly doable (I'm a git user myself), but surely we can all agree that it's hardly the perfect version control system for game development in particular.
@@sukedent1 yeah that's fair
NO! No! NO! Don't do this to newcomers. We have suffered enough until we sorted it out. Don't let them into the hell. It's not worth it. Go with anything ELSE than GIT. It's not worth it. If you are ever going to believe one stranger on the internet you have never met before, let it be this instance, and DON'T GO INTO GIT!
@@windwalkerrangerdm
Weak
@@Syvies yes git is weak.
I've learned a lot, I'm still getting used to programming with Unity and as a solo developer, some of these pro tips will take time to implement, would be glad to see more videos to help me along the way.
As a student who crunched hard with his team for the last 4 days to get a project done on time because we did not know how to work parallel this video would have been a godsend.
Great video Matt! Really enjoyed the new format and interested to try Milanote as well (yay more project tools lol)
Thank you.
Standard naming conventions exist for a reason 👀 if you invent your own naming conventions, you're just making a load more work for yourself. I don't mind too much and if you don't find the standard ones useful then fine, but once you get into the habit it's really useful. Plus if you've got an IDE like Rider that auto suggests it, it's not really any extra effort.
Using plastic instead of git is interesting though, I might give it a go! I do like git and am very used to working with it, though 😂
My own tips would be :
-work as a team! It's something that a lot of people don't get when starting out but it's really good for both you and your games. It helps to have more people looking at your work, giving you tips, sharing their vision of a great game and all that stuff
-do game-jams! Finishing games, exporting, meeting deadlines, knowing what stress is like in this kind of job is really something that'll improve how you work. You'll probably learn more in 3 week-long game jams than in 6 months of game dev' school.
I've used plastic for work projects. I have to recommend it. It's so good!
Please please, more on multi-scene. I was under the impression light baking, physics and more would be a major pain and I'd love to hear more about navigating the lot. Seems to be massively requested
I feel there are not enough documentation or tutorials to enable me to make good/useful Custom Editors. I often search for tutorials about it and would even pay for a good course on the subject. Would LOVE a good series on how to make a Message Node-Based Editor.
Takes a while to learn to get them to a decent quality, I guess, but once I started making my own tools and inspectors I didn't look back. You'll mainly want to learn the EditorGUILayout, GUILayout, GUI classes. All ongui ui stuff can be used in custom inspectors and windows too. The stuff in the Gizmos class is also pretty useful. I wouldn't recommend using the new UI code using Visualtrees to start though, it gives you more control but you end up using a lot more code for the same results.
Check the unity Editor API page for simple examples, but generally it's not hard to find tutorials on how to do node editors or similar stuff ("just search Creating a Node Based Editor in Unity"), which can be good practice.
Tip: Talk with your teammates, cause it's really frustrating to work on something for a few days just to know that they meant completely different things.
8:36 shouldnt the Password be blurred there?
Let's find out 😄
@@adamprokop Already Updates from you?
@@innovativename5268 Sure xddd
I think it was mentioned, but a video/guide on how to approach multi scene work flow would be amazing
I use several separate projects for prototyping elements, and one main project for the integration. Its good not to try crazy new stuff in the main project, as this will be a lot more cumbersome to work with, and also can result in a lot of messy or abandoned assets.
Very nice video as always! 💪🏻
You mention some every interesting tool that I would really love to see more about. The upload to Steam and icon preview generation - is that something you have shared somewhere?
I like all of these tips, except the version control one. I love Git, the command line interface is really useful and once you get a grip for it, it can be pretty powerful.
Edit: Could you share the Steam Builder editor extension you made?
imo there's really no reason to use the git cli, I prefer to use UI tools like gitkraken.
@@ShiNijuuAKL GitKraken is pretty good for beginners like you, as soon as you start working on real projects one day you'll see the benefits of git cli
@@nikolicd91 I'm not a beginner, I am a senior developer with 5 years+ of experience and I started by using the cli and migrated later. After using UI tools I have only needed to use the cli 2 times (apart from doing git clone which is faster to do on cli most of the time) unless I'm dealing with server stuff, but there I often only do pulls. I wouldn't recommend gui for beginners, let them know what's going on first!
@@ShiNijuuAKL Ok kid. You're the senior that has no need to use cli ahahaahha
@@nikolicd91 yes, wtf do you use the cli for apart from server stuff?
Those custom tools you mentioned in the video, are they available anywhere? Particularly the Steam, Icon Generation and Localization have me very curious :) Great vid!
great tips! I wish you could talk more about the difference between git and plastic. You got me interested~
First off. Love your content and im super thankful for your passion and time. Second of all, would love to see an indepth tutorial on how to get the basics down of tool development. Ive been wanting to do so for a while now but cant seem to find a good tutorial that explains things like you do. Keep up the good content and i hope youre doing well these days!
Never so quick to click on a UA-cam video . Awesome Stuff thank you
Hi! Nice video, as always! 👍🏻 One question: I am surprised that you haven't mentioned Unit Tests as a good practice. Isn't it common in Unity Game Development to use the Test Runner and write tests for your functionality?
And +1 on a tutorial on the multi scene workflow! I would like to watch that. 😁
a person that downgrades git will talk about TDD? lol
TDD is not really worth it in games imo. Problems in games are usually not isolated in small units. Watch Jonathan Blow rant about it here: ua-cam.com/video/21JlBOxgGwY/v-deo.html&ab_channel=JeruSanders
I didn't know i could give my script icons :D thanks dude!
This video is priceless! @4:50 Although I have a different opinion on that naming convention. A file's name doesn't need to carry its type, category, or hierarchical information. That's where folder structure and search filtering can be used instead. For instance, a material inside a 'Character' folder means it's the character material and no need to include that in the material's name. Or a prefab is a prefab, no need to include that in the name either. It's like suffixing every script with a '_script'.
The multi-scene workflow looks great. But I can't find those scene collections anywhere. Are those from a package or do you have to create those scriptable objects on your own?
As always great video! I've been trying to make my own custom tool for a behaviour tree system too (both of which are difficult haha) but it's really has proven the importance of creating custom tools in improving and speeding up your workflow in the long term.
This is an amazing video. Learned so many new things!
I always found your videos super useful. This one is no different, but I think you've been a bit harsh about Git and Github. I use Plastic in my new job, and man I never been so frustrated. One thing that makes me hate Plastic is the GUI in general: not flexible, not customisable, no dark theme and no persistent layout and options across repositories. I work on a lot of different repos, and more are created each day, and I need to redo all the GUI configuration each time. It takes forever for no reason. Man, the GUI is not even the same on Windows and macOS!
Needless to say that some default settings are REALLY dumb: on what earth not being able to switch branch or commit because changes or new files has been made is a thing?
The only thing it does better for me is dealing with large files. The lack of integration is a bummer too: no web interface, no pull requests (don't tell me about this joke of a "code review" tool, please), no notifications... Code versioning is not only about synchronizing a workspace this days, and it clearly lacks on Plastic.
In my previous job we used Git wih Github. My git client was Sublime Merge, and I never had any problem with conflicts, merge fail, losing things. I mean come on, plastic is the same under the hood, if you can use Plastic, you can use Git with the same confidence.
Sure you can switch branches at any time, just git stash your current work and retrieve it when you get back to your branch where you we working.
Also I prefer to run my own Git server, much faster to work and no annoying limits or fear that the service might go do, there is even pretty nice web interface, Gitea, that imitates Github and other similar sites.
Can you expand on the multiscene approach. What sort of scene manager was created to support this workflow? I would be very interested in knowing more
Have you ever shared the publish to steam code? That could be very useful.
Great advices! I'm also using a multiple scene workflow but not in such a granular way. Dealing with annoying scene mergin every day right now... have to try that!
I am sold on that first add lol
The first video that agrees with the fact that "tools matter", in these days that 99.99% of videos says this b*****t that "tools don't matter!!" and waste so many people's times and lives. Believe me, ALWAYS reconsider bad tools and replace them with good ones.
I think the problem with using git with Unity is the .meta files, and that's hardly gits fault. That said if the other solutions you suggested solve the "not committing the .meta files" then it's a very valid suggestion.
Thank you for this!!
Insightful, thanks!
I actually said out loud multiple times while watching this "You can do that!?"
3:21 I just don't understand how your multi-scene workflow loads in the Editor. If I add multiple scenes, everytime I re-open the parent scene, all other scenes are gone, I have to re-add them (when in the Editor).
My favorite channel after brackeys
Milanote is 🔥
Really great video as always. That SteamBuilder custom editor looks really sick, just from the view of it I'm trying to recreate it but it would be awsome if we could get somewhat of a tutorial of it. Keep up the great work!
Awesome video, Game Dev Guide :D
I completely agree on the GIT part. It's just a name. An empty popularity. It's convoluted. It's so far from being user friendly that you can't see it with hubble telescope. Even James Webb telescope will have hard time on it. Those who say you can use it have in fact undergone a period of trying to figure it out so horrible that their brains have blacked those memories out to prevent them from falling into suicidal depression. As the video says, it looks fine when everything is at a normal flow. But ONE hiccup in the flow, one mistake by a member, or god forbid, YOU, then you WILL lose progress. Anyone who has been using GIT and says they've never lost progress is either lying or in hard denial. Stay away newcomers. DON'T USE GIT! Even cloning your folders by hand is better than that sh...
Great video keep it up.
I've never been sure about using a multi scene workflow as I didn't know if it was good practice but glad to see others use it. Also I loved the look of some of your tools especially the one that automatically generates the icons would love to see a video on something like that. But anyways amazing work and I'm looking forward to your next vid
Really good tips, until the Git part... You can use Git LFS for asset (binary file stuff), you can set git to run locally, so that you don't actually have any costs for code repository, and it's the defacto code repository tool used in all IT industries. Gaming is still playing catch up on this, and you don't need to be a command line PHD to use it, there are UI tools for it, that simplify a lot of the needs. You do need to learn concepts, that apply to any code repostiory tool, like branching and versioning. If you wanted to upsell Plastic SCM you shouldn't have down play Git...
It's not for everybody, and anybody can use anything, but be mindfull of comments without good knowledge of something...
I hope you would explain more about multi scene workflow
That was an well made video with tons of pro tips. Thanks a lot ♥
8:36 How did you learn to make the Steam upload tool ? I'd love to make this one :3
4:53 what's that webpage with naming conventions?
3:36 I really wish to know how you loaded them at Editor time automatically like that :(
regarding Custom Tools, Unity's UI Toolkit makes it easier to make them
Why not using prefabs instead of multi-scene to avoid conflicts ?
6:03 very wise words
useful. thank you
wait, so you can you have more than 1 scene running at the same time? how does that work?
Very insightful. Thanks
what books, resources and tutorials on unity did you use or can advice ?
Where i can learn that last part in this video about Tools?
How to make them
Unity vs Unreal 5, which one is the best engine for fast-production quality indie game making on Nintendo Switch?
Can we get a tutorial on the icon generator? I tried building something like it last year, and failed rather badly at it.
multiple scene cannot use unity event, what do I do to solve it? Do I need a singleton script in every scene to connect others?
You know what is even better then multy scene workflow? Using f-ing prefabs dude. They are the thing that works best for team work.
Right now im working on game that has been overscened and its a nightmare to work with. If you with said scene - noone else can. Its BS.
Thanks.
I prefer using Unity Collab as my source control, I've used other but get more of a headache using them, so always revert back to Collab. What do you think about Collab?
what's the main difference between using prefabs or multiscenes on collaborative work?
Please, if you know how to do it, how to create a custom unity Node editor window?
We are using Unity collaborate and it lacks most of the features that you shared in plastic SCM. Specially asset lock 🔒 and file revert.
Could you share the Steam Builder editor extension you made? It looked very cool!
As for naming conventions, what are your thoughts about code linting? Most often than not I have a "clear" convention I follow along the project, but having automatic code coverage for that eventually becomes handy, specially while working on a team. Maybe I'll consider using it for personal projects, just to be sure I'm keeping things consistent
Oh it would be amazing if you could share the Steam uploader tool!
I want to add my voice for the support of a tutorial/guide on scenes. I think there isn't really enough talk about practical aproach to scenes.
Why is multi scene work flow better than prefabs?
I’ve always wanted an alternative to git but felt like git was the “real programmer” way to do it, so i had to use it
is a "Scene collection" just a fancy scriptable object?
Any chance you could make a tutorial on your bootstrapper system/script?? I would love to see how you do that and learn from it as we are now also implementing this scene-system-organization-thing in our project! Thanks for the tips btw!
Great list, especially being so vocal on GIT. There are a lot of people out there who think, only because Git is used widely, it is a good solution. It is for projects like the Linux kernel, but for smaller projects, especially games, Perforce and Plastic are much more convenient. Actually, I don't know one professional game studio using GIT, they all use Subversion, Perforce or Plastic.
git is absolutely fine for smaller unity projects. You may wish to use something else if you have large amounts binary files but I've never found it to be a hinderance even with git lfs. It's not perfect however and for a larger project I probably would checkout another but I disagree that it's not convenient on small projects.
What have git ever done to you? It sounds like you could spend some more time learning it.
I don't use Plastic, I was considering it. But however, their monetization strategy is killing it. I'd love to use it if I could host my own repository on my server, I don't want _everything_ to be in the cloud, even less pay for it.
@4:28 Hard Disagree. Reason: If you have strict naming and coding conventions you can simply assume things about code you haven't written yourself without getting into any major trouble / having to go into the implementation to double-check.
Sure, good doc comments can help with that but they are often not necessary if you have a well-organized code base.
I dont even use unity anymore but i do watch your videos :)
Nice!
Games have become more advanced
Dani says otherwise
If one wanted to learn how to make custom tools, where would one go?
Any tips how to run it on a potato pc?
I have a unity template where I will apply icons to my script so I easily differentiate my template script with project scripts.
As our project became bigger, we got more and more issues with Unity editor performance. Delays while compiling, running simulations and even after minimizing/opening the Unity window. It's harder each day to work on a project. How do you handle this? I would be very appreciative for advice :)
Check out my previous video on assembly definitions! Link is in the description
@@GameDevGuide assembly definitions won't save you from fricking domain reloading problem: docs.unity3d.com/Manual/DomainReloading.html . In big projects this shit can make even empty scenes starts for like 1 minute or even longer. And it happens not only when you hit start, but after EVERY recompilation as well, so if you want to change something and just hit play and test it (or run playmode test), you have to wait twice as long - 1 minute when compiling (yes, even when you just compile only 1 tiniest assembly), and 1 minute to game start running... Best workflow!
Can you please give me the code for the steam uploader from unity?
About your anti-git comments, I agree that git could be improved like locking files and some extra features, but git is a awesome tool that can be really complex if you want, but the basics of it is really simple.
Do you have udemy courses bro?
nice vid.. but the hate on git is quite exaggerated
Please make tutorial using visual scripting in Unity3D
At 2:45, how do u have multiple scenes in your hierarchy?
If you have multiple scenes in your project and have one already open right click on another scene and click on “OpenScene Additively” im studting open worlds and it helps to organize your scenes and label them appropriately to know which scene youre opening
@@youngknight5589 oh I see. Is this different from subscenes? Or is subscenes only part of unity dots?
Personally I use git so that when I apply for jobs my activity on git is high
Ah hahaha, if only my passion for game development meant I understood it well, cuz I didn’t even understand like one thing (besides the naming conventions)