@GameDevBeginner

One thing to add to this, in this example I used an interface to make the connection abstract from both sides in code, but that's not the only way to do it. For example, in my course, which this example is from, I ended up using a Unity Event. The end result is similar, except that the fire display doesn't need to actively do anything.

@AzazelezazA

This is exactly what I'm dealing with right now for my school project. I'm either abstracting everything to eternity or can't seperate a class properly fearing of communication between parts will be pain in the ass in future. I guess practice will be the answer to this problem. I will pick a way and it will cause problems when I decide to change something in future and I will learn from it and improve my decision making in future projects. Not doing anything because of fear of failure is always worse than doing something and fail.

@bane9109

Been doing gamedev for around 2.5 years and this is still something that I sometimes struggle with. It has improved the longer I’ve been coding, but sometimes still difficult to decide. Thanks for the video!

@iamtheguide

the text display in your video is aesthetically pleasing. And the you do a great job in giving options, not doctrines. That's rare in the coding scene :)

@black_squall

My favorite unity tutorial guy.

@junba1810

Your channel is insanely underrated! I also want to note that the blog's on the website are really useful too! When I am actually working in Unity I prefer reading than watching a video, so it's really helpful!

@Fossilsmudge

just started learning unity and your vids are a breath of fresh air, easy to follow and very helpful!

@andisarifi5805

A unity scripting course? Sign me up!

@Marc142000

I'm surprised you didn't make any mention to the methods explained on your 'Connecting scripts on the same object in Unity' video where you had a class that stored the actions an object could execute and other components subscribe to them. I think that way of doing things is perfectly explained in that video, but I would have liked you to talk more in depth about when to implement that style of method over the ones described on this video.

Either way, brilliant information and lovely explaination. Thank you so much and keep them coming!!

@mattallenclosedforum9505

I always think, if the scripts are small are modular I can use them for multiple projects. And then I start from scratch every time 😂

@batty251

This is how I usually do Unity scripts:

Usually if something that has movement its all in a movement script for that game Object and then a separate animations script that handles the animations. 

For everything else if its a global variable I use containers via scriptable objects.

UI script for UI systems.
Interactions are usually done on the Game Object's movement script unless its a global then I have a dedicated script that handles like a bullet hitting a game Object so it adds force. 

I like to have my scripts used in a global setting not just to 1 game Object specifically. 

A door script can have just a door script to every door or if its a portal then a portal script to every portal and have the scene loaded in as a string array and u pick what scene it will go to from that array etc. 

This is helpful thinking and I enjoyed the video.

@immortalsun

Very useful, Mr British Man, thank you!

@_PadoStudio

He should be over 100k subscribers.... algorithm do you WORK

@Fossilsmudge

hey i'd be interested in a video about attributes in unity. ive seen some but dont completely know how to use them, create them, and most built in ones.

@timmygilbert4102

I separate feature and architecture, any code will have some specific cuisine, so brstvto contain what's unique in single places. For example, move is a feature, it takes input modifier and position and output back new position, it shouldn't know about anything else, the manager is the one responsible for linking input type, position and controller results to the move element, that keep bug seeking into two type, feature implementation bug, or architecture communication bug, it help refactoring because you either rewrite features or rewrite architecture, even when both need rewrite it's a clear separation of concern. In practice it makes your code more modular, but modularity is only as good as how many utils class your code depends on 😂 the math class sipping everywhere is inevitable.

@kozmobotgames

Thanks for the tutorial!

@b5fan504

I submit that anyone who thinks an entire game's worth of code should go into one script, doesn't yet know enough about what they're doing. This is why we have principles and guidelines and architectural patterns.

@dibaterman

Imo, single responsibility is best used when dealing with AI behavior. For most other scripts it's just about a free for all. But doing things like splitting up the jump behavior then allows you to adjust exactly how that jump behavior will work as well. Take it to the next step you can store the behavior as a SO which can be swapped as needed.

@dogemcdogeface7901

Hey man, this is a really great video that touches a topic that we struggle at work too!
Just a quick question, at 4:04 you mentioned that Ground Check could be implemented via Inheritance, would it be better to make Ground Check as an Interface instead? Just figured that an interface is more modular. Thanks in advance ! :D

@aarongeorge347

I've personally been exploring a composition architecture to go along with how Unity already does game objects and components. Unity Events help keep components ignorant, but I fear I'm going to end up over-using them...