Unreal Engine - Casting and Interfaces Explained

  Рет қаралды 32,887

Reids Channel

Reids Channel

Күн бұрын

Пікірлер: 157
@rajeshterofer
@rajeshterofer 3 жыл бұрын
Wow, finally someone explained WHY and WHERE interfaces are useful. Most tutorials they say HOW to use interfaces and Castings. Keep up this good work and do more detailed tutorials with cat as an example.
@ReidsChannel
@ReidsChannel 3 жыл бұрын
lol so many comments about the cat
@RedStallion2000
@RedStallion2000 3 жыл бұрын
@@ReidsChannel Maybe they should be renamed "Catstings" :P
@Kitandroo
@Kitandroo 3 жыл бұрын
@@ReidsChannel Any chance you could do interfaces vs components? I can use them the same way for my status effect system, but not sure if there's some big advantage to either.
@TheBaquajean
@TheBaquajean 2 жыл бұрын
@@ReidsChannelThe cat was a nice touch to entire thing :D
@brycerothschadl
@brycerothschadl 3 жыл бұрын
Man, I think I'm in love with you. Don't tell my girlfriend. Learning **why** something is good is so much better than just seeing how to do something. As a UE beginner, this channel is amazing.
@ReidsChannel
@ReidsChannel 3 жыл бұрын
@RedStallion2000
@RedStallion2000 3 жыл бұрын
Knowing why things work definitely helps me retain the info.
@RobinDale50
@RobinDale50 3 жыл бұрын
"Learning *why* something is good is so much better than just seeing how to do something." This x1000. This is why I like this channel, Ryan Laley, Matt Apsland, et al. They go into how and why things work so you can understand how to best utilize it, and troubleshoot/debug when needed.
@50shadesofskittles9
@50shadesofskittles9 3 жыл бұрын
fucking dead right! I am always left wondering why from other youtubers! lol I also agree that Ryan and Matt are awesome too. Maybe you guys can do a dev collab! :)
@Rehd66
@Rehd66 5 ай бұрын
This right here is why 99% of KZbin “tutorials” are absolute garbage
@SpiffyCS
@SpiffyCS 3 жыл бұрын
The cat must be an addition to all future tutorials. It is something we didn’t know we needed.
@t3hpwninat0r
@t3hpwninat0r 3 жыл бұрын
Important note: You don't always *need* to check if the actor implements the interface before calling the implemented function. If the actor does not have that interface, there is no error and nothing happens, the game continues normally. However, in this video's example we made the projectile disappear IF something got painted, so it's a perfect example for when we *should* check that the actor implements the interface.
@Hooverdreng
@Hooverdreng 3 жыл бұрын
Nice detail, thank you!
@loremipsum3147
@loremipsum3147 3 жыл бұрын
aha! I was asking myself why he used the checking. Nice catch
@loremipsum3147
@loremipsum3147 3 жыл бұрын
btw, to avoid checking we could pass the projectile's reference as input and make the interface function destroy it I guess?
@t3hpwninat0r
@t3hpwninat0r 3 жыл бұрын
@@loremipsum3147 Yes, but you have to be careful because now the paintable object will destroy ANY actor that calls this interface and you might not want that. Also if you use the DestroyActor node, what happens if it wasn't an actor that called the interface? What if it was the PlayerController that called the interface? Honestly I think that the projectile destroying itself is the best choice here, because this decision to destroy itself should be made by the projectile and not the painted object. Another option would be to add an output variable to the interface function and use that to decide if the projectile should destroy itself (default "no").
@loremipsum3147
@loremipsum3147 3 жыл бұрын
@@t3hpwninat0r thank you for the explanation and yes, I agree with you destroying in the interface is generally a bad idea. Btw, about returning an output variable, if the actor did not implement the interface and we call the function, what will be the return value? (I guess it is the default no?)
@behrampatel4872
@behrampatel4872 11 ай бұрын
probably the best example for casting & interfaces...anywhere. Heck even beginning programmers in college should be sent to this video. Cheers, b
@kuhnen
@kuhnen 2 жыл бұрын
I'm like a year late to the party but your explanation on casting is just clearer and simple than anything there is online... You have a gift for teaching...
@Aherys
@Aherys 3 жыл бұрын
As always, excellent tutorial, i permit myself to add some additional note : -> Interface have a lower cost than cast, work with interface when you can. -> Casting on the upper hierarchy will cost less. If you need a fonction un Parent, prefere cast to parent than cast to child -> If a function cast often something (like everyframe), considere caching the cast (Create a new variable, and store the cache return inside, instead of casting it every frame)
@RobinDale50
@RobinDale50 3 жыл бұрын
That last point, especially. In many cases, you can get away with casting using the "make it a variable" method without hardly any performance penalty.
@GeorgePence
@GeorgePence 3 жыл бұрын
Can you please elaborate on your point about interfaces having a lower cost than casting? What exactly is the lower cost? Do you have any info on this from an engine standpoint, or better yet, from a C++ language standpoint? I'd be very interested to know.
@shannenmr
@shannenmr 3 жыл бұрын
@@GeorgePence I think there is a myth around "performance" improvements with Interface vs Cast where as from what I have read its basically the same outside of the main reason people tell you to use Interfaces in Blueprint specifically is because when you Cast in BP it creates a HARD link to every Class you Cast to (and ever Class it Casts to) which means they are all loaded into memory. So in his example where he says people do Multiple Casts to multiple Classes every one of those classes will be loaded into memory, now if they are Parent classes it might not be too bad but if you cast to Cat & Lounge & Final Boss & etc it means all those Classes (and any Classes they Cast to) and related items such as Meshes and Particles etc are loaded into memory as soon as you Call / Cast to FirstPersonProjectile
@GeorgePence
@GeorgePence 3 жыл бұрын
@@shannenmr Thanks for the reply. Yes, I agree also, people throw these phrases around and it's sort of like an urban legend. Very rarely does anyone ever have any legitimate info to back it up with, so I appreciate you providing some proper details.
@matt3464
@matt3464 3 жыл бұрын
You probably have the best UE4 tutorial channel on youtube. Among the few who don't really leave any questions unanswered. Great job, subscribed :)
@lonedew
@lonedew 4 ай бұрын
This is the only tuutorial that i understand what the casting and interfaces are. Thank you
@devin18101
@devin18101 2 жыл бұрын
You see, before this video, I... was that guy that would cast and cast... and cast to as many different actors as I needed. Now I was taught that not only is there a much better way of doing things but also what I was doing before was incredibly inperformant so I thank you very much for this incredible knowledge lmfao
@rayvellart
@rayvellart 9 ай бұрын
One of the best explanation of the topic. Clear and easy to understand. Thank you!
@kevinpahlervorderholte5060
@kevinpahlervorderholte5060 3 жыл бұрын
Thank you so much for this! I'm in the middle of an Unreal online course at the moment and it bothered the hell out of me that the tutor just plainly said "I always use interfaces, never casting" without ever going into why. Same as with your videos explaining replication, this helped me a ton! So thanks :)
@ReidsChannel
@ReidsChannel 3 жыл бұрын
Sounds like you need to find a new online course ;)
@jdrewlayton
@jdrewlayton Жыл бұрын
This has been a nebulous concept for me for a long time. Thanks.
@Sneaky1ne
@Sneaky1ne 2 жыл бұрын
incredible video, thank you
@DefacedProductions
@DefacedProductions 2 жыл бұрын
The best tutorials are 90% why and 10% how. Thank you so much, i understand so much better now.
@rein556
@rein556 3 жыл бұрын
We should change this channel's name to Prof Reids Explains! Man, This is the best thing I have every watched!
@skippyzk
@skippyzk 2 жыл бұрын
Most underrated video on KZbin.
@iamagenius2646
@iamagenius2646 2 жыл бұрын
Wow, DOES IMPLEMENT INTERFACE !!! I was looking at a tutorial and even if it had the interface it was still casting and I didn't understand why isn't there something more. I'm a programmer and blueprints are so easy, yet so complicated for me. In programming I would create an event system and fire that even, waiting for someone registered to do something ( works well in unity ). Thank you soooo much for this
@ammoburgeryoutube
@ammoburgeryoutube 3 жыл бұрын
You are a gem. Incredibly concise and useful explanations for a newbie like me
@RtxRob
@RtxRob Жыл бұрын
Thank you so much, I was scratching my head for some hours for getting rid of castings. Thanks again.
@mattweber24
@mattweber24 3 жыл бұрын
Thank you so much. This is really helpful. Also, best quote.... "the problem is this friggin cat."
@tomasbacchiocca4151
@tomasbacchiocca4151 2 жыл бұрын
Also when you cast, the blueprint has to load the casted blueprint because the code needs to know it to work (dependency), so if your blueprint casts or has (even not used) a function of another actor in the event graph the blueprint is loaded which makes it heavier. Example: I have a blueprint that is 10Mbs and i add a cast to a blueprint which is 20Mbs the blueprint depends on the second one to work so the 10Mbs become 30Mbs, so when you do many casts or just reference to another actor always watch the size tree or the references view, you can find those in the top bar while on a blueprint, I think on the view menu. The interfaces are used also for that memory optimization since you can just call functions without needing any dependency. Im not an expert so correct me if Im wrong about something, but thats what I found out, also I suggest studying soft references for variables if you need more memory control and less loading time!!
@thelawgameplaywithcommenta2654
@thelawgameplaywithcommenta2654 2 жыл бұрын
Doesn't this mean that you can always cast to the player in single player games to cause damage? Or is the dependency 2 way?
@tomasbacchiocca4151
@tomasbacchiocca4151 2 жыл бұрын
​@@thelawgameplaywithcommenta2654 You should always use interfaces to get the reference of a class, example: I get the playercharacter in my code so its a Character class even if it referes to a class that inherits from it, for example the FirstPersonCharacter that is given with the template, but I want to run something in that child class not in the parent given, infact as you know if I have in my FPSCharacter a function and I get a Character class I can't obviously call that function from that, but I can call an interface call, so usually you create an interface to get the reference of the player, in that interface you create a getPlayerRef function with an output that is the actual playercharacter class like the FPSCharacter, you implement that interface in that character class and override the function to return self as the output, so when you call that function as message from the character class that you obtained like with a getPlayerCharacter or whatelse you can get with that getPlayerRef the actual reference as the class you need. Sorry if it's hard to explain, Im not english so I tried to make the best explanation possible.
@tomasbacchiocca4151
@tomasbacchiocca4151 2 жыл бұрын
@@thelawgameplaywithcommenta2654 Anyway to deal damage I suggest to run the damage function given with unreal and then handle that damage with the event anydamage or the other ones, instead of making your ones, otherwise if need more complexity you can do as you need
@owencoopersfx
@owencoopersfx Жыл бұрын
This is an excellent demonstration with the furniture vs. the cat 👌
@wolfsblessing
@wolfsblessing 3 жыл бұрын
And this is what a tutorial should look like. Slow, clean, right on point, detailed and for all. You just got a sub. from me!
@JakeTheSnake509
@JakeTheSnake509 2 жыл бұрын
this is honestly one of the best channels i've found. great work.
@DavidSchiess
@DavidSchiess Жыл бұрын
gotta choin the choir and say that this is such a fantastic explanation. Thank you!
@UnleashedCode
@UnleashedCode 2 жыл бұрын
From completely confused..... to now understanding when and why..... thank you!
@stormolflak
@stormolflak 2 жыл бұрын
This is the type of good tutorials
@FlorianBecquereau
@FlorianBecquereau 2 жыл бұрын
Thank you so much! I knew interfaces existed but never really understood why or how to use them. Now it's clear.
@FreakinMrGamer
@FreakinMrGamer 3 жыл бұрын
i love this type of videos ! hope u keep doing on it !
@manuboucheraudio4363
@manuboucheraudio4363 2 жыл бұрын
This really is a great explanation of those two blueprint communication methods! Really enjoying your content!
@stuartgibson1959
@stuartgibson1959 2 жыл бұрын
Awesome work, thanks for explaining the why as well as the how
@dinosyr
@dinosyr 2 жыл бұрын
Im loving your channel man. Actually informative information not just quick how to's.
@iDentityUS
@iDentityUS 3 жыл бұрын
👏🏾👏🏾👏🏾 this helps so much with being able to understand a lot in blueprint programming…Thank you
@RDD87z
@RDD87z Жыл бұрын
this video helped me to understand even better what interfaces are useful for. thank you a lot.
@DevGods
@DevGods 3 жыл бұрын
Very clear explanation! Definitely helped me solidify the use cases
@jonathancooper5104
@jonathancooper5104 Жыл бұрын
I love the hammer and screwdriver analogy, great video makes me wonder if you work as a teacher!
@ReidsChannel
@ReidsChannel Жыл бұрын
Thanks! No I don't but I do some tutoring sometimes haha
@LittleBlue42
@LittleBlue42 Жыл бұрын
I use interfaces for most of my in game interactions. It makes it so easy
@omerkeidar95
@omerkeidar95 3 жыл бұрын
Loving this shorter format
@HatariSamaki
@HatariSamaki Жыл бұрын
This is an excellent explanation. Thank you.
@CaffreyPlays
@CaffreyPlays 2 жыл бұрын
Amazing video man. Really helped me understand interfaces.
@viniciusnoyoutube
@viniciusnoyoutube Жыл бұрын
Very good explanation. Detailed and simple.
@CGDive
@CGDive Жыл бұрын
Perfect clarity. Thank you!
@RafaMartinelli
@RafaMartinelli 2 жыл бұрын
Sooo clear! Thank you! Sometimes my confusion with interfaces is that the interface itself stays empty; here I understood you simply call it and blueprint it wherever you wanna implement it. Now I kinda wonder why cast at all? 😂
@ChristopherZoog
@ChristopherZoog 3 жыл бұрын
Great stuff here. Very well explained...the why is so important...great work.
@GeorgePence
@GeorgePence 3 жыл бұрын
Thanks for the useful lesson. This same technique can also be easily applied in C++. Examining Class.cpp leads to this function, which is actually used under the hood by the DoesImplementInterface Kismet function: bool UClass::ImplementsInterface( const class UClass* SomeInterface )
@dation0000
@dation0000 3 жыл бұрын
just perfect ! amazing big brain stuff ! . you ever going to make c++ tutorials ??
@ReidsChannel
@ReidsChannel 3 жыл бұрын
ty :) I have made a couple but no one watches lol
@dation0000
@dation0000 3 жыл бұрын
@@ReidsChannel please link them
@dation0000
@dation0000 3 жыл бұрын
@@ReidsChannel also am looking through your playlists . unfortunately u just have a gaint playlist of tutorials . i would highly recomment u break it up atleast into series and have separete c++ playlist . thank you good day to you sir .
@bigdredwun1928
@bigdredwun1928 2 жыл бұрын
Finally something that makes sense.
@ox-mox
@ox-mox 2 жыл бұрын
Great example and easy to understand. You are the best!
@GaryParkin
@GaryParkin 3 жыл бұрын
Excellent tutorial! Loved it. Now I know the why.
@_EliteKnight_
@_EliteKnight_ 2 жыл бұрын
Interfaces 10:52
@ili76767
@ili76767 2 жыл бұрын
Excellent explanation, but I have another question, that is, why did you set Construction Script like add “Create Dynamic Material Instance” to the cat's blueprint but not do the same things it in the furniture?
@Max14211
@Max14211 3 жыл бұрын
Oh this is gonna be good I can already tell. Dropping a comment for the algo gonna watch the rest with a notebook later on
@50shadesofskittles9
@50shadesofskittles9 3 жыл бұрын
UE5 looks sooooooooo much better ... thank you for getting to the point quicker than most ... also, you gave me an idea for a mini-game :P
@tekilla78
@tekilla78 2 жыл бұрын
Another amazing tutorial .... Quick question - that cat - where you took it from - I need something like that for my current project :)
@vivekvyas6819
@vivekvyas6819 Жыл бұрын
Excellent tutorial..! Thank you! 🫡
@wolfboos
@wolfboos 2 жыл бұрын
Very very insightful... I wish I knew this ages ago xD I had a tower of casting code in one of my projects... dear god I don't want to remember 😳
@jayrajkanzariya7058
@jayrajkanzariya7058 3 жыл бұрын
just what i was looking for 🥳 thank you very much
@fabricaderender5923
@fabricaderender5923 2 жыл бұрын
Great stuff , nice expletives I also gonna watch one mor time to implement ! How can I , instead get the color from a cubic static mach in the map , making an inventory color by widget inventory to click and apply or drag and drop? Thx 🙏😊
@jp3d911
@jp3d911 2 жыл бұрын
Nice explaination ! I have one question : what's the point of testing if an actor implement an interface prior to call a function through this interface since doing so on a actor that does not implement the interface doesn't return any error... ??
@tomaslaaperi5849
@tomaslaaperi5849 2 жыл бұрын
omg tyty! This was so useful :D Also it explains the way its done in Good Practice! :D
@vasudev8957
@vasudev8957 3 жыл бұрын
very nice listening to your voice is comforting lol
@pppparanoidddd
@pppparanoidddd 2 жыл бұрын
You're amazing at explaining things
@tylerbrowne69
@tylerbrowne69 2 жыл бұрын
At 9:34. You say the Cat is derived from Pawn and therefore, different than the furniture that are derived from actor. But since, Pawn themselves are derived from Actors, how does that make a difference in terms of inheritance?
@ReidsChannel
@ReidsChannel 2 жыл бұрын
Cat -> Pawn -> Actor Furintue -> Actor Sure they both derive from actor so they are both actors but I think what Im trying to say in the video is that they are both not pawns
@Rusty_piston
@Rusty_piston Жыл бұрын
very well done, i learned a lot thanks
@Yotunhe1m
@Yotunhe1m 2 жыл бұрын
Very useful info. Thank you! I've heard that Casting is more performance costly than the Interface and therefore in mid or large projects Interfaces are more preferable. Is that so in your opinion?
@redgeciccone8218
@redgeciccone8218 3 жыл бұрын
What about changing mouse cursor at run time when mouse over a mob. In this case we will use a function and not an event. This is more complex because you need to pass ref of the widget cursor to the interface and then when mouse over a character use this same ref to change the cursor image.
@WebbyStudio
@WebbyStudio Жыл бұрын
great vid. i only started learning unreal last week and great to have a better understanding on casting vs interfaces. also it seems UE 5.1 does not show the "add" dropdown within the class details to add interfaces. so i've had to do my learning in v 5.0.3. i heard this was a bug with 5.1 and will be fixed soon. is that true?
@leks1A4
@leks1A4 2 жыл бұрын
very useful! thank you for the tutorial😄
@lorenfulghum2393
@lorenfulghum2393 2 жыл бұрын
What is the best way to avoid actually having to duplicate the code in the 2 implementations of the interface? Function libraries?
@CosmicComputer
@CosmicComputer 3 жыл бұрын
Awesome! Thank you!
@erizzt586
@erizzt586 Жыл бұрын
Nice tutorial, thank you!
@l_t_m_f
@l_t_m_f Жыл бұрын
Interface promote loose coupling. Great tool
@Arrkail
@Arrkail 3 жыл бұрын
hey thanks alot. this is truly helpful and i see my self using interfaces now. also you should include your AI cat in future videos lol.
@asdfasfeawefasdfada9567
@asdfasfeawefasdfada9567 3 жыл бұрын
Nice video. It would be great if you show how to change color of projectile and weapon
@joeanrachelmiller6529
@joeanrachelmiller6529 2 жыл бұрын
You did such a good job here that I was wondering if you could somehow do a ownership theft system like the elder scrolls? I can't seem to understand what to do to even start such a system.
@hbirtt
@hbirtt 3 жыл бұрын
Good stuff. It is funny though how you seemed to struggle just a touch with this basic stuff. At least more than you do with some pretty complex topics. I get it though. When you have an almost intuitive understanding of something, it can be hard to figure out how to explain it to someone else. It's just something you've used so much that you just know. It's like explaining why you hold a pencil a certain way. Struggle or no though, that was very clear. Thanks.
@ReidsChannel
@ReidsChannel 3 жыл бұрын
Yeah, its just explaining it clearly that is a struggle haha but glad u like it
@fuzzyfallthetempest
@fuzzyfallthetempest 2 жыл бұрын
So functions are for the same class of item and interfaces are like functions but can be used across item classes?
@ReidsChannel
@ReidsChannel 2 жыл бұрын
Yes, that's one way to look at it
@thelawgameplaywithcommenta2654
@thelawgameplaywithcommenta2654 2 жыл бұрын
I was wondering how you pass on variables via interfaces while retaining the event. So you can't have outputs, but inputs are ok.
@ReidsChannel
@ReidsChannel 2 жыл бұрын
Outputs wouldn't make sense since it's being broadcasted to potentially thousands of objects
@RprtBak
@RprtBak 2 жыл бұрын
Paint cat best cat.
@CosmicComputer
@CosmicComputer 3 жыл бұрын
Wait did you say “cat-sting”?
@ReidsChannel
@ReidsChannel 3 жыл бұрын
I see what you did there
@MusawarPlays
@MusawarPlays Жыл бұрын
Best tutorials Ever ❤
@trayvonray9614
@trayvonray9614 2 жыл бұрын
Great Video, and I assume this is UE5 it looks great.
@Emily-jd2sh
@Emily-jd2sh 2 жыл бұрын
What if you want to only colour the sofa and not the table? Now things get complicated...
@michaelmano7261
@michaelmano7261 Жыл бұрын
Apprecaite your work ❤
@ReidsChannel
@ReidsChannel Жыл бұрын
Thanks for the tip!
@nevfelemrecicek
@nevfelemrecicek 2 жыл бұрын
Thank you for this perfect video.
@felixmikolai7375
@felixmikolai7375 3 жыл бұрын
thanks man good video as always :) could u please explain how from software made their pvp system behind the scenes ? i cant get any information via google or youtube and im not sure what parts of my game need to be replicated or not :s it would be very kind! dont need an extra video but i guess many other ppl would be watching it too :)
@vladimirkhadyko8304
@vladimirkhadyko8304 2 жыл бұрын
So good! Thank you!
@ethanmiles5544
@ethanmiles5544 2 жыл бұрын
Damn, this is a great tutorial.
@dabtap7385
@dabtap7385 2 жыл бұрын
will this work with Mesh with multiple Material elements?
@in2fractalout
@in2fractalout 2 жыл бұрын
supersnacky example. that WOW! effect, when projectile paint something first time. is that easy! supernice. thx
@wolfboos
@wolfboos 2 жыл бұрын
So... I just need to get one important detail to be clear... Typically I shouldn't use casting if I'll do the same action (Or very similar) to multiple or a lot of objects. But, if it's a one time thing, or only very few objects, I can then use casting instead. Is this correct? If so.... I'm starting to think that perhaps I could still use one way casting... So after the interaction interface is fired in the paint ball, it will work as intended and send the message. But then inside whatever actor the ball has hit, I can then cast to the ball and maybe ask it an arbitrary question like "Can I paint tables?" (Which is a variable inside the ball), and based on that, if the actor hit was in fact a table, then it (Inside of the table blueprint) will not change color if the variable is false.
@ReidsChannel
@ReidsChannel 2 жыл бұрын
Its hard to put a blanket statement around when to use them vs when not to use them but generally what you said it correct. However I wouldnt make a bool inside the ball for each kind of object it can paint, that can get out of hand quite quickly. It might be ok to do if you have many different types of balls that all can paint different things though.
@wolfboos
@wolfboos 2 жыл бұрын
@@ReidsChannel Wow, thanks for the reply! Although I agree that having a boolean inside of the ball for many objects (Furniture), objectively is a bad idea, I think I was more interested in the optimization part of the coding. (Remember you said casting to all objects would be generally bad), so instead these objects (Furniture) are the ones who cast to the ball, and ask it that arbitrary bool value. You could say this example uses limited (or one way) direct referencing. This ball and furniture is a bad example for this method I just mentioned, but I strongly believe it could work in other scenarios, like perhaps player interaction (with slightly more complex implementation).
@ReidsChannel
@ReidsChannel 2 жыл бұрын
@@wolfboos I don't keeping it the way it is in the tutorial is best. Having the furniture cast the ball kind of defeats the purpose of using an interface. If you went that route, everything that you wanted to be colored would have to cast to a ball in it somewhere.
@agj383
@agj383 3 жыл бұрын
great lesson, thanks
@YouWillDoAsYouAreTold
@YouWillDoAsYouAreTold 2 жыл бұрын
thank you so much
@smudgybrown67
@smudgybrown67 2 жыл бұрын
Really cool, thank you =]
@bradleymiley1322
@bradleymiley1322 Жыл бұрын
Best tut on this
@PraiseMore
@PraiseMore Жыл бұрын
This was amazing!!
@rolferikson
@rolferikson 3 жыл бұрын
I understand now the difference, thank you. But you did not explain why not always use Interface even if casting is possible?
@mrdirtydaniel
@mrdirtydaniel 10 ай бұрын
I guess I don't understand. I know the memory hogging nature of casting vs interfaces, but you never really explained when casting is a BETTER idea than to use an interface. Seems it's always better/safer to just use interfaces and not have to think about hard references. Am I missing something?
@ReidsChannel
@ReidsChannel 10 ай бұрын
If you want to join my discord and ask some more questions about this, more specific questions, I can try to answer. Its hard to generally say when casting is better or worse. But if you give me an example I can tell you why one way is better vs the other
@lomzogaming3631
@lomzogaming3631 2 жыл бұрын
Tractors are not food right?
@ReidsChannel
@ReidsChannel 2 жыл бұрын
Dont think so
Unreal Engine - Realistic Portal Tutorial (2/4)
40:40
Reids Channel
Рет қаралды 6 М.
Unreal Engine - Event Dispatchers Explained!
21:17
Reids Channel
Рет қаралды 20 М.
IL'HAN - Qalqam | Official Music Video
03:17
Ilhan Ihsanov
Рет қаралды 700 М.
Quando A Diferença De Altura É Muito Grande 😲😂
00:12
Mari Maria
Рет қаралды 45 МЛН
Леон киллер и Оля Полякова 😹
00:42
Канал Смеха
Рет қаралды 4,7 МЛН
Stop Casting! use blueprint Interfaces Instead!
11:56
The Game Dev Cave
Рет қаралды 14 М.
Blueprint Interfaces | Unreal Engine 5 Tutorial
14:41
Tyler Serino
Рет қаралды 61 М.
10 Gamedev Libraries For 10 Needs (used by AAA companies)
11:33
Oskar Schramm
Рет қаралды 29 М.
Cast против Interface: что это такое и что выбрать? | Уроки Unreal Engine 5
16:57
MakeYourGame! — Уроки Unreal Engine
Рет қаралды 4,3 М.
Multiplayer in Unreal Engine: How to Understand Network Replication
22:08
Casting Explained | Unreal Engine 5 Tutorial
11:14
Tyler Serino
Рет қаралды 42 М.
Unreal vs. Unity: Actors & Components, Inheritance & Composition
13:38
Unreal Engine - Inheritance Explained
24:12
Reids Channel
Рет қаралды 14 М.
Unreal Engine - Blueprint Interfaces Tutorial
6:14
Beardgames
Рет қаралды 56 М.
I Struggled With Blueprint Interfaces for Years!! (Unreal Engine 5)
16:48
Glass Hand Studios
Рет қаралды 194 М.
IL'HAN - Qalqam | Official Music Video
03:17
Ilhan Ihsanov
Рет қаралды 700 М.