📦 Download the project at www.patreon.com/posts/35152838
@klarnorbert4 жыл бұрын
You're guys be sponsored by Unity(not that guy, who's name begins with 'B', and still teaching bad practices for beginners).
@graysonhamza39193 жыл бұрын
You probably dont give a damn but does anyone know of a method to log back into an Instagram account? I was stupid lost my account password. I appreciate any tricks you can give me
@rogelioraiden80683 жыл бұрын
@Grayson Hamza instablaster ;)
@graysonhamza39193 жыл бұрын
@Rogelio Raiden Thanks so much for your reply. I got to the site through google and Im in the hacking process now. Seems to take a while so I will reply here later with my results.
@graysonhamza39193 жыл бұрын
@Rogelio Raiden it did the trick and I now got access to my account again. Im so happy! Thank you so much you really help me out !
@QuietSnake-xs5vx4 жыл бұрын
"just another Prototype that I'll probably never finish"....that hit me right in the feels ....but thanks for the interface revision
@omnicatalyst2 жыл бұрын
Big fucking mood.
@tiagogamer25402 жыл бұрын
Still in the first prototype, so no unfinished prototypes yet. Will come back in a few years when this hits.
@josh_swanson4 жыл бұрын
Finally someone explains how Interfaces are actually USED instead of just saying 'iT enFOrcEs a cONtracCT1' Thanks guys!
@Layarion3 жыл бұрын
lol, fucking microsoft wiki levels of speak there.
@xandercooney4 жыл бұрын
This whole channel is like blue's clues for programmers, and I mean that in the very best way.
@InfallibleCode4 жыл бұрын
Lmao I’ll takenit
@monkeyrobotsinc.9875 Жыл бұрын
HAAAHAHHAaa
@ewwitsantonio4 жыл бұрын
I've been struggling to understand interfaces for a while, but this video is the only thing I've come across the really demonstrates to me personally WHY they are useful, and HOW to use them. Really appreciate your channel!!
@Prakaz4 жыл бұрын
This video might also be useful: kzbin.info/www/bejne/g4uyo3qOoJmLfKs
@Kalahee Жыл бұрын
The common struggle is "the approach". There may be multiple ways to do something thus we get stuck in "what is the most efficient one", often the answer is none and you're left with "There has to". Since most items that I would use interface for are inherently similar I end up making abstract class to inherit from, plus they can be serialized in the inspector, unlike an interface reference. Say I have a "SpawnedObject" script and it has a public reference to an "IItem" so I can assign an SO that implement the interface in the editor. It won't show up in the inspector, I can only assign it through code. If instead I have an "Item" class that "Lamp" has inherited from, I can link it in the inspector. Interface is mostly advantageous, IMHO, if both classes are significantly different and need a few common denominators for a method to work seemlessly between them OR to decouple your interaction system from the interactable system and you might want one or the other in a different game. Don't forget to bring the interface with it.
@happypixls4 жыл бұрын
As far as I could remember (and correct me if I'm wrong), the "I" in the interface is there since the C++ days. This is because they didn't have interfaces, so they used abstract classes with an "I" to denote that they are interfaces and fill in that class with virtual functions (or methods?) only, and ever since it got stuck with us I guess. I personally cannot imagine myself writing an interface without an "I" =P. Nevertheless, awesome video ;)
@Judge_OnYouTube3 жыл бұрын
I first came accross your channel maybe around 18 months ago? I have over a decade experience writing tools in Excel VBA and decided to leverage that knowledge to get into game development. When I first started watching your channel, I found the content to be a bit too dense for me (read: it went way over my head), so I followed along some Brackeys tutorials to help me understand the real basics of Unity and C#. After getting a feel for better designing my code, your content (which I've been viewing over the last month) is changing the game for me; both in VBA and C#. I'm writing better structured code, and if I get stuck, I google around for a bit until I stumble upon what feature I'm looking for, and you generally have very clear instructions on how it should be implemented. Thank you a heap! Your content is pure gold.
@InfallibleCode3 жыл бұрын
Thank you so much for your comment! I’m glad to hear that my content has been so helpful to you 😄
@subliminalcastillo21264 жыл бұрын
My brain collapsed when you said "Hey Jason" instead of "Hey Charles" after answering that call in the beginning of the vid
@alexh16874 жыл бұрын
Now we just have to tell Unity to finally implement serialization of interface type for the inspector ^^
@bromine353 жыл бұрын
Thats why i googled interfaces in unity. I know what interface are and how they are used haha. Stupid inspector
@gulraizkhalil51894 жыл бұрын
I'm an iOS developer, not working on unity but I watch your videos because like the way you explain things. Appreciable
@arnazian2 жыл бұрын
This is hands down the best tutorial on interfaces out there, its 6 minutes, it very simply and clearly explains when to use them as well as how to use them, and then it even shows how to implement them into an existing problem. And i'm saying this as someone who went through 4 other tutorials having problems understanding what they were talking about, or not wanting to spend 40 minutes waiting for them to get to the point. Really wish more people made content this good.
@rdunajekv Жыл бұрын
This is EXACTLY what I have been looking for. I know an interface is a contract but seeing the use case help me visualize how to use it. Now I will spend the next 5 hours slamming keys and cussing my old spaghetti code as I rewrite my scripts
@ashmaf42614 жыл бұрын
I've been avoiding interfaces because I never got to know how they're actually used. This was just what I needed. Thanks!
@saranciuc77174 жыл бұрын
Holy s**t. These "skype calls" explanations with an actual problem are by far the best approach to teach others something. Please, keep doing the videos this way because I'm loving it! :D I'm not rich or something but I'll squeeze my wallet a bit to start supporting you and keep this kind of content alive.
@saranciuc77174 жыл бұрын
@ Infallible Code That was a fast like :)).
@InfallibleCode4 жыл бұрын
I appreciate your feedback and support 😄
@soulman9024 жыл бұрын
Wow, this showed exactly why Interfaces are useful as opposed to just saying it's a contract that you attach to an object that you have to implement what it tells you. Subscribed!
@quocvnguyen71173 жыл бұрын
I have to stop in the middle of the video to drop this comment: "I love it. Great channel. I'm learning what I'm looking for + tons of tip and fact!" Thank you
@InfallibleCode3 жыл бұрын
Thank you!
@jgnhrw12 сағат бұрын
Good video, it shows the problem and solution perfectly. I never liked calling interfaces "contracts". Contracts imply the work does is known. When an object implements an interface, it only gives assurance that the method exists, it doesn't tell you what the method will do, or if it does anything at all. I tell my juniors that they are like APIs, they define how you can talk to the object, but you don't necessarily know what it will do.
@charlesjames27484 жыл бұрын
This is the first time interfaces for interactable objects has clicked for me in I don't even know how many tutorials. Thank you!
@Vundeq2 жыл бұрын
These conversation based tutorials are actually very cool
@Luis-Torres4 жыл бұрын
Jason's got his priorities straight! Overwatch > game dev
@rodrigolegendre89504 жыл бұрын
Absolutely loved the format! Every logical step is being explained without being pedantic or redundant!
@stephenc2812 жыл бұрын
Your channel is a lifesaver. I never fully understood interfaces until I watched this video. Every video of yours I've watched has given me so much more insight into concepts I didn't previously understand.
@tamerxero3 жыл бұрын
Hey, guys, thanks. I went down a small KZbin rabbit hole after watching a bit on Unity's channel about persistent save data. They had an example that used an Interface, and I just never understood interfaces. This was the best explainer video I could find! Love the interaction between you-two, and it was simple enough to really grasp while having a great example tied to it! No, seriously, ya'll did a great job, and I will definitely be exploring the rest of your videos to learn more! Thanks!
@JayPatel-cd2fu4 жыл бұрын
generally, as a theoretical way, this is very hard to understand where to use this, or when to use this!but the way you gave the practical examples and the way you both were communicating made these things easy and understandable.
@MahmoudMohamed-dj9wd2 жыл бұрын
where did those guys go , they were so good honestly and provided some great practices and introductions to important topics like the use of jobs
@demonking25262 жыл бұрын
"Let me just share my screen", a sentence that was used alot during the start of the pandemic
@Elenthiriel3 жыл бұрын
Please make more videos like these one. After a Really long search I FINALLY find out how to use interfaces and how it simplified the job. The last class that turned all interactables off just blowed my mind PLEASE make more videos showing how to implement common functionality in games. You are awesome, thank you.
@starlitcastle11 ай бұрын
Just watched a couple of videos explaining this concept, this one was the best. It not only made clear what interfaces are, but also how to use them. Thanks.
@duylongchau80424 жыл бұрын
I know using interface for each object's component but have not thought to use it as Composite like that. Thanks man. You're great!
@xz8928 Жыл бұрын
Best example of Composite pattern i've ever seen
@weckar2 жыл бұрын
I love the slightly awkward acting. The message is good too. In Unity inheritance is often better than interfaces though, as FindObject or FindComponent functions can manage the former but not the latter.
@Landon_Hughes3 жыл бұрын
This is such a good video explaining interfaces with game development! My professor can only think of fruit and animal examples....this, however, makes much more sense than her just saying "it's a contract"....her explanation is as clear as mud. Thanks guys!
@InfallibleCode3 жыл бұрын
Haha yeah there’s always some super contrived example like sword types or animals. In reality those are rarely the use case for interfaces!
@Daniel-Mast4 жыл бұрын
Wow, I found you through the stream you did, and honestly this is what I was looking for! Very easy to understand and explains the use of interfaces in a unique and creative way. Thanks so much!
@maximumreality Жыл бұрын
Awesome lesson! I'm developer but I have never seen how deep can be integrated the coding into unity. Really nice!
@ambi24352 жыл бұрын
This is the best way of teaching and learning. You guys should post more of video like this..
@fanerv3304 Жыл бұрын
This is the form of tutorials that we need
@kamienel99414 жыл бұрын
I am much more amazed by the usage of that keywords
@CinematicGigglePlay9 ай бұрын
Wow I really like this style of teaching. Its slow, calming, feels more in depth and easy to follow. I LOVE IT! I LOVE IT! I LOOVVEE IT!!!(but I don't love it enough to turn off my ad-block XD)
@gamedevhq4 жыл бұрын
Really cool way of doing this tutorial. Great job, Charles!
@AlecAndersonZx4 жыл бұрын
Fantastic format. Very approachable and right to the point. The only thing I would like to suggest is that you slow down a little bit on implementing the code. I had to go frame by frame at one point lol.
@amarduranovic11734 жыл бұрын
This is the most concise and understandable explanation of interfaces out there. Your videos truly are a blessing!
@Mearrin694 жыл бұрын
TFW you finally figure out interfaces and switch over a complex mess in a few minutes...and it works.
@dire_prism3 жыл бұрын
I love interfaces. Often they're just so much better than class inheritance.
@arthurmorgan38332 жыл бұрын
its blows my mind thank you for this it really help my project to clean and easy to add things
@Stalkie4 жыл бұрын
I really love this teaching style!
@phanisrikar71914 жыл бұрын
OMG where have you been, I feel bad to not have know you before, I guess this is the beginning of our lifetime journey.
@CodingWithUnity4 жыл бұрын
Barles is getting pretty good at programming
@InfallibleCode4 жыл бұрын
Maybe one day he'll actually finish a game xD
@playonce41863 жыл бұрын
I wish I had a friend like him.
@clintanderson45912 жыл бұрын
Dang, dude. Subscribed after one video. You set the record. I can tell how this channel will be after the production quality, after being straight to the point, being useful, you guys making it entertaining, with no requests to subscribe or littered with advertisements. Wish you all success.
@DutchyChannel3 жыл бұрын
This feels so much like the videos teachers made me watch on high school when they didn't feel like teaching. But then of course for things like geography and math!😂
@carstenklein45684 жыл бұрын
I sure like this format, a Q/A thing. Well done.
@geraldclark17412 жыл бұрын
So glad I subbed to this channel. You guys are killing it! Thanks!
@hamza-trabelsi4 жыл бұрын
the best example I have seen yet as use case for interfaces , Thank you
@subliminalcastillo21264 жыл бұрын
Thank you Charles. Thanks to you & Code Monkey, I now have my first modular platformer system for my ripoff "test" project of Mario 3 to test my capabilities on finishing a game. I have 2 interfaces: IHorizontalMovementInput, IJumpInput... that have 2 implementations each: HorizontalInput_Keyboard, JumpInput_Keyboard, HorizontalInput_EnemyAI, JumpInput_EnemyAI Then I have a modular movement system that refers to said interfaces... HorizontalMovement & JumpController, aswell as a GroundCheck class that is referenced in JumpController. It is insane how you can do more with less, and I am so glad I figured this stuff out. I have saved myself hours of copying and pasting code, feeling overwhelmed and lost, and many many headaches. Interfaces are a must have for reusability, and I can't imagine life without them now.
@rolfvanderbijl3 жыл бұрын
As a beginners it's still somewhat difficult to comprehend but it certainly gives me some handles to start experimenting with how interfaces work and how I can implement them. Gonna get to it straight away, thanks for making this video and adding a bit of humor to it ;)
@zionjohnson26884 жыл бұрын
I love the narrative of this tutorial definitely hitting subscribe
@MTandi4 жыл бұрын
Nice one, but I made the same demo for IoT project, and went with composition. Its just very convenient when you can drop a component on an object to make it interactable.
@InfallibleCode4 жыл бұрын
Oh yeah I definitely favor composition. Especially in Unity!
@GeriTuS2 жыл бұрын
those guys are gods! cristal clear examples about abstract concepts. Bravo!
@BekaDemuradze4 жыл бұрын
I live the new format of tutorials
@mpbMKE2 жыл бұрын
This is the first time I've seen it explained in a way that makes total sense to me. 😂
@allenlin38303 жыл бұрын
Ty for making this. Finally understands interfaces.
@ed63934 жыл бұрын
Great tutorial guys. Interfaces are so much better than tags for finding and comparing objects with certain behaviours.
@larryd95772 жыл бұрын
Instead of holding a list of GameObjets, where you first get the IInteractable of before applying it, you could initially hold a list of IInteractables. There you are also applying the contract and nothing not-IInteractable will fit there.
@ZeroSleap4 жыл бұрын
I started a new project,and day one i used and am using Interfaces,i'm thinking it's gonna pay off in the long run,a lot.
@TheGuyWithTheLemon4 жыл бұрын
love these videos, always clear and to the point but also explained at a good pace that beginners can easily follow and more advanced devs can easily reference as good reminder
@InfallibleCode4 жыл бұрын
Great to hear!
@siberiatrekking2 жыл бұрын
Nice explanation! Fast and straight to the point.
@siddharthaupase14233 жыл бұрын
I usually dont comment but this is by far the best tut ive seen!
@EnchikO3 жыл бұрын
0:32 Most casual sentence of all Unity developers. :DDDD
@robrab20004 жыл бұрын
Nice, I really liked how the format provided context for solving the problem 🤓👍
@sidhuarya3 жыл бұрын
This is such a cool way of explaining a concept! I've seen countless amounts of unity tutorials till date and the way you guys did it just amazed me. Keep it up guys!
@rani6004 жыл бұрын
As always, Great video, non clickbait video, straight to the point, and crystal clear on how use interfaces! Upvoted 2 times for you :)
@InfallibleCode4 жыл бұрын
Really appreciate the feedback! :D
@teh1archon2 жыл бұрын
I LOVE these kind of tutorials :)
@Simon-ik1kb4 жыл бұрын
yeah... was looking for game interfaces in Unity, basically a how to do UI stuff... found this video, not what I was looking for, but damn I just learned something new and very useful.
@erz30304 жыл бұрын
Good stuff as usual. I enjoyed the Jason cameo as well :) I can't wait to see how you guys tackle DOTS when it's 'released'.
@LuizMoratelli4 жыл бұрын
Best unity code in every video
@qiangpanchen67852 жыл бұрын
Wow, thank you ! And I like how you designed the way to introduce the issue and how to use Interface solve it, nice !
@kirichnererwin1062 Жыл бұрын
I just found out about this channel and damn, these videos are really cool, I never tried implementing interfaces, but now I can see why they're so useful!
@esnevipАй бұрын
Im a noob at this but here's what I'd do: every object like that that the player can use in this way would have a script on it called ClickHandler or something, with a public method/function called Click() Then any other script on the object can reference the ClickHandler script to do whatever it is you want. If this line of thinking is stupid for some reason please inform me.
@Shadic41013 жыл бұрын
I've always struggled with learning interfaces and this just made so much sense to me!
@milkywaygalaxymedia43112 жыл бұрын
YOOOOOOO .... this was a GREAT ONE! good job gentlemen.
@edi_gun_awan3 жыл бұрын
Yep, i reach this step on my learning process. I kinda proud to be able make something work but in the same time worried of how the code mess. Thanks mate, +1 sub
@marscaleb2 жыл бұрын
While I would prefer a format that more directly teaches rather than this "scene between two people" one, I must commend you for explaining this better than any of the videos I watched before this one. 4:35 right there shows what I wasn't getting about these things. They seemed pointless because you just had to manually add code that you needed to add to each class anyway. But now I see that I can call a function on any class without having to directly inherit from it. I was struggling with how I should organize some of my classes that need to be able to get hit by weapons. I made a "pawn" class that my player, enemies, and npc's all inherited from, and when something was attacked, I called a "hurt pawn" function. But that made it awkward with other objects in my scene that the player can attack and destroy, but weren't actually pawns. I figured the only way around this was to either make those objects pawns but nerf all the other pawn attributes, or make pawn extend from another class that parents both pawns and destructible objects. But now I see that I can make an interface for "IDamageable" and I can call a damage function in that on (effectively) any class I want, without having to have them all inherit from the same base class. This isn't even what I came here for, but this really helped with my project. Instead of just trying to describe what it is, you showed an example of a situation that could be improved with what you were teaching. This is how programming should be taught.
@marscaleb2 жыл бұрын
As I think about it more, combining both the function I just mentioned with the one you showed in this video is a PERFECT example of something you could only do with these interfaces. (Well, without having complex garbage code.) What if I need objects that I can interact with, and objects I need to be able to damage? An object might need only one of those, or both. I could have a switch on the wall I need to interact with, a breakable pot on the floor I need to be able to damage, and an npc that needs both. How can I have an npc respond to both interaction and damage without making everything in my scene extend from the same class that allows both options? I can make an Interface for each of those functions, and my game just checks for the interface it needs. No need for complex class hierarchies loaded with functionality not all of them need, and no need for complex checking functions that iterate through multiple classes to find valid options.
@adamodimattia4 жыл бұрын
Best interface video I’ve ever seen.
@newbquesttv4 жыл бұрын
Great video. The narrative format is very interesting 🤔
@TairaGames4 жыл бұрын
You need a jingle, stare at the camera and an "Oh Charles" :)
@InfallibleCode4 жыл бұрын
😂
@Sykkoss3912 жыл бұрын
I love your approach with filming. Explaining with a clear example and resolving the problem chatting with a friend is pretty smart and something I'd love to see more because it is simple and easy to identify. Great job ! :D
@thatsalot35773 жыл бұрын
This video changed the way i code now
@dreamescence Жыл бұрын
Wow this was awesome actually, very apt, maybe for a beginner who doesn't know much about coding might have to pause and replay some parts more, so flow maybe improved, but nonetheless great, simple and apt explanation!
@STARasGAMES4 жыл бұрын
CompositeInteraction will have strange behavior when lights have different states))))
@hamza-trabelsi4 жыл бұрын
every light will do the opposite of it's current state, that's it.
@aldigangster1234 жыл бұрын
@@hamza-trabelsi That's strange then.
@JackFastGame4 жыл бұрын
Сразу видно, что ты русский.
@AbstractObserver4 жыл бұрын
If you have a complex light setup in your house where you can turn on each light independently but also have a master switch that turns on/off all lights, this kind of behavior is common...
@Layarion3 жыл бұрын
@@AbstractObserver no it's fucking not, common would be the switch turns the whole circuit off - not magically cuts off the electricity but still somehow let's current flow dynamically to another part of the circuit on the same fucking wire that it cut off.
@coutnico-f92654 жыл бұрын
i loved this video. the acting is funny and added a new nice way to approach us haha. thanks for this very useful information about interfaces in unity!
@SoaringSimulator4 жыл бұрын
Thank you very much and stay healthy
@zandzpider4 жыл бұрын
Awesome video Charles! Very professional and enjoyable to watch! keep it up
@logan41792 жыл бұрын
Thanks for the video, but one thing I've found missing from every video on interfaces I've ever seen is an explanation for why you would use them instead of creating base and derived classes.
@Sovreighn74 жыл бұрын
Very nice video, always enjoy a good Storey.
@chris.davidoff4 жыл бұрын
This was killer! Loved it, and the composite example was a sweet cherry on top that I didn't know I needed :D
@InfallibleCode4 жыл бұрын
Glad you enjoyed it! Thank you for the kind words :D
@y01cu_yt2 жыл бұрын
Such a friendly way to teach, thanks.
@PeterMilko4 жыл бұрын
this was great, nicely done dudes
@Havie4 жыл бұрын
Nice I had no idea you could call get component for a class that implements an interface that way . That makes things so much easier 👌🏻
@atifahmad64573 жыл бұрын
you should make a tutorial on how you manage to make new classes and scripts directly from code editor.