Why Use "Interfaces" & "Event Dispatchers" in Unreal Engine | UE5 Explained

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 พ.ย. 2024

ความคิดเห็น • 290

  • @Seem_gDev
    @Seem_gDev 2 หลายเดือนก่อน +49

    I appreciate how instead of just saying "avoid casting", you actually show the reason why. Everything is very well explained and thought out.
    As they say, it takes a smart guy to explain to someone how something works, it takes a genius to make them understand.

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน +4

      Thank you so much for your kind words! I'm glad to hear you found the explanations clear and helpful. It means a lot to me 🙏

  • @caramanzilias
    @caramanzilias 2 หลายเดือนก่อน +21

    dude plz dont stop u explain shit step by step, u actually made me understand so much shit i was strugglin with...keep it up like this

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน +2

      Hey, thank you so much for your kind words! I'm really glad to hear that my explanations are helping you understand better. I appreciate your support 🙏

  • @TheVeryMadMath
    @TheVeryMadMath 2 หลายเดือนก่อน +43

    This video is the best explanation of interfaces I ever witnessed, you're doing a great work of presenting these concepts and making it easy to understand !

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน +3

      @@TheVeryMadMath Thank you so much for your kind words! Really happy to hear that my teaching style is resonating with you and that you're finding this helpful. Thanks for watching and commenting 🙏

    • @TheRopiak
      @TheRopiak 2 หลายเดือนก่อน

      These tutorials are wildly good cause they are great for newbies to learn the 'right' way and also good as intermediates to go back and learn the concepts better or start using them more often now that you understand the basics. Super useful.

  • @FluteboxFan
    @FluteboxFan 2 หลายเดือนก่อน +11

    I absolutely love that you are teaching exactly at my level: Not too cuddly, but also not assuming I write C++ all day. Absolutely. Fantastic. Work.

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน +1

      Thank you so much for your kind words! I'm glad to hear the content resonates with you. I appreciate your support 🙏

  • @hardwire666too
    @hardwire666too 2 หลายเดือนก่อน +6

    This might actually be one of the most important videos ever made in the history of Unreal development videos. It is the best explanation of how casting can be bad I have ever seen. Also that is a brilliant way of using Event Dispatchers. As opposed to the most common way which involves manually binding. Absolutely brilliant.

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน +1

      Thank you for your kind words! I'm really glad you found the video helpful and enjoyed the explanation. Your support means a lot 🙏

  • @patmacalister
    @patmacalister 2 หลายเดือนก่อน +15

    Finally a tutorial where the reason behind avoiding casting isn't glossed over. Always had to take that info at face value without being able to really question it. You explained it very well and concisely!

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน +3

      Thank you for your kind words! I'm glad to hear the explanation resonated with you. Understanding the reasoning behind things really helps with learning 🙏

  • @Dominicn123
    @Dominicn123 2 หลายเดือนก่อน +4

    bro, let me tell you it is a TALENT to be able to take knowledge, and then structure it in a way that is understandable and teach it to students trying to understand and learn, but YOU have a gift of doing this VERY VERY well. I know you hear this a lot but seriously, this is your calling and the way you've been able to do it is just insane, and i've watched ALL your videos, this isn't just a compliment, this is a huge push for you to really devote yourself to becoming an instructor because you are insanely good at this, you may not think much of it, but look at the quality of your comments on all videos, it is nothing but the highest of praise instead of a bunch of irrelevant talk among viewers. I watch a lot of people attempt to be instructors but they all just read from a wikipedia page or straight from a source, without any type of conversion whatsoever, and because of that maybe only 40% can somewhat comprehend. but in your case you are able to do it so 100% can understand and i don't say all this lightly.
    Seriously, your channel has grown FAST. other tutorial channels struggle to break 10K after a few years!!! and you're already past 30k, and all this is on a channel with your name on it, instead of a catchier channel name lol! but i really hope you devote yourself to this completely, because WE WILL support you if you step up and become a full time instructor!! One of the most important and valuable professions on this planet is that of an instructor as it's a difficult job to truly grasp and you've got it in all areas!!

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Hey Dom. Let me start by saying that your comment put a huge smile on my face. Your encouragement means a lot to me, and it's this kind of motivation that keeps me going and keeps the channel alive! I do wish I could make a living off of this, obviously now it's a bit far from that, but who knows what the future hold.
      I really appreciate your support, and I hope you enjoy the future content as well 🙏😊🙏

  • @bouldouklu
    @bouldouklu 2 หลายเดือนก่อน +2

    You are one of the few explainig the WHYs in Unreal. Not only copy and paste stuff, but really in depth explanation of the logic behind. Thank you so much!

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน +1

      Thank you for your kind words! I'm glad to hear you appreciate the explanations. Understanding the "why" is essential, and I aim to make it clear 🙏

  • @etherialwell6959
    @etherialwell6959 หลายเดือนก่อน +1

    You know what? I started unreal some time back and at the beginning I had no idea of it and used random yt tutorials which lead to me ending up with a "ton of casting inside the event ticker". But then I found your channel and all of a sudden my game actually works and has very good performance!

    • @AliElZoheiry
      @AliElZoheiry  หลายเดือนก่อน +1

      Hey! I'm really glad to hear that my tutorials have helped you improve your game performance. That's what I aim for! Thank you for sharing your experience, it means a lot 🙏💪

  • @drinkwwwaterrr
    @drinkwwwaterrr 2 หลายเดือนก่อน +1

    You really are one of the best educators for Unreal. Not too much handholding but rather important information about good practices that are useful for any project. Thanks so much :)

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Thank you! I really appreciate your kind words. I'm glad to hear you find the information helpful 🙏

  • @revan9903
    @revan9903 2 หลายเดือนก่อน +1

    Very nice tutorial, as always. However, there is one things, I'd like to add.
    When thinking about casting:
    When you have to cast it is always helpful to consider which is the most simple object in the class hierachy, that serves your purpose.
    Example:
    You have a character class called "NPC" and you have a reference to it as an actor in another class. If you want to play an Animation Montage on it for example, you need to only cast to the character class to get the skeletal mesh, instead of loading in the whole "NPC"-class by casting to that one.
    (Note: You need a skeletal mesh to play an animation on a character)

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน +2

      Thank you for your insights! That's a great tip about casting to simpler objects in the class hierarchy to improve efficiency. I appreciate you taking the time to share that with the community 🙏

  • @ztormsink5931
    @ztormsink5931 หลายเดือนก่อน +1

    The best explanation I ever saw regarding the 2 options. I prefer Event Dispatcher for the flexibility and seems easier to understand.

    • @AliElZoheiry
      @AliElZoheiry  หลายเดือนก่อน +1

      Thank you for your feedback! I’m glad you found the explanation helpful. Event Dispatchers do offer great flexibility, but like I mentioned in the video. These are 2 methods that can work together, not one or the other. So always keep an eye out for opportunities to use them both

  • @forgiven88
    @forgiven88 19 วันที่ผ่านมา +1

    you are one of the premier UE guys on youtube. thank you!

    • @AliElZoheiry
      @AliElZoheiry  15 วันที่ผ่านมา

      Thank you for your kind words! I really appreciate your support 🙏

  • @RushedYT
    @RushedYT หลายเดือนก่อน +1

    Best tutorial on youtube, please keep doing tutorials like this

    • @AliElZoheiry
      @AliElZoheiry  หลายเดือนก่อน

      Thank you so much for your kind words! I'm glad you found it helpful. I'll definitely keep making more tutorials 🙏

  • @arcturus2685
    @arcturus2685 2 หลายเดือนก่อน +2

    I never really understood event dispatchers before, thank you so much for making this amazing tutorial!!!! God bless!!!

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      You're very welcome! I'm glad the tutorial helped clarify event dispatchers for you. Thank you for watching and commenting 🙏

  • @blindphoenix
    @blindphoenix 2 หลายเดือนก่อน +1

    Thank you for explaining about when casting is ok.
    Another way of thinking about casting. It's ok to cast to something that is always loaded to memory (player, controller, game mode etc)

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน +1

      Thank you for sharing your insights! That's a great way to look at it, and it definitely helps clarify when casting is safe to use. I appreciate your contribution! 🙏

  • @alexjohnson1547
    @alexjohnson1547 2 หลายเดือนก่อน +1

    Another banger. You are by far the best Unreal teacher on TH-cam (and the paid sites tbf). Hoping you eventually do some videos on GAS/ALS/Motion Matching. Keep up the great work!

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Thank you for the kind words! I really appreciate your support 🙏 I'll definitely keep those topics in mind for future videos.

  • @DsDylan-fs8lo
    @DsDylan-fs8lo 28 วันที่ผ่านมา

    I am studying ACS architecture.
    (attach System component) and this was very useful to me because there is very little information about it.
    Thank you for your great contribution Eli.
    I know that one day it will be the ACS pattern's turn.

    • @AliElZoheiry
      @AliElZoheiry  21 วันที่ผ่านมา

      Hey! I'm glad to hear that you found it helpful, especially since there's not much information out there. Thank you for your kind words, and I'm excited to see where the ACS pattern goes in the future! 🙏

  • @RocketGames-n1i
    @RocketGames-n1i 2 หลายเดือนก่อน +1

    Thank you for your tutorial. By the way, you can press **CTRL**, **Shift**, and **W** to adjust the font size in the UE editor, which can help you when recording tutorials.

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Thank you for the tip! That's really helpful 🙏 I'll definitely keep it in mind for future recordings!

  • @DerWiNG33
    @DerWiNG33 หลายเดือนก่อน +1

    Best explanation best tutorial best developer and the god use of ue5. You deserve 1 mil subscribers

    • @AliElZoheiry
      @AliElZoheiry  หลายเดือนก่อน +1

      Thank you so much for your kind words! I really appreciate your support 🙏 Glad you found the tutorial helpful!

  • @AmadeusCraft
    @AmadeusCraft หลายเดือนก่อน +1

    As usual, your video is super clear and answer the very question I was asking myself.. It is very helpfull to have you on TH-cam !

    • @AliElZoheiry
      @AliElZoheiry  21 วันที่ผ่านมา +1

      Thank you for your kind words! I'm glad to hear the video was helpful and answered your question 🙏

  • @DrN0VA.
    @DrN0VA. 2 หลายเดือนก่อน +1

    This is by far the best explination for event dispatchers as Unreal's docs doesn't explain them well.

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Thank you for your kind words! I’m glad you found my explanation helpful 🙏

  • @SenLuo127
    @SenLuo127 หลายเดือนก่อน

    Thank you so much for this video! I'm a beginner just starting to learn Blueprints, and your explanations have been incredibly helpful. You're absolutely a fantastic teacher!

    • @AliElZoheiry
      @AliElZoheiry  หลายเดือนก่อน

      You're very welcome! I'm glad to hear that you found the explanations helpful. Thank you for your kind words, and happy learning! 🙏

  • @samuelmatosminaya7801
    @samuelmatosminaya7801 2 หลายเดือนก่อน +1

    Thanks for clarifying the casting taboo.

    • @AliElZoheiry
      @AliElZoheiry  หลายเดือนก่อน

      You're welcome! Glad I could help clarify that 🙏

  • @Josh_Alfaro
    @Josh_Alfaro 2 หลายเดือนก่อน

    This is amazing Ali. Please keep tutorials like these coming. These two concepts are essential for so many system in UE5. I’m sure there are other as well

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Thank you so much for your comment! I'm glad you found it useful. I'll definitely keep creating more tutorials around essential concepts in UE5 🙏

  • @kataneproduction7775
    @kataneproduction7775 2 หลายเดือนก่อน

    Very clear and useful as always. Each video you make help all of us beginners. Not tested yet your chat bot as I don't need it at the moment. I think the example you use with object colliding with actor is a good one as it was one of the principal issue people had. Can't say anything than you have to keep making those videos. Pure gold, instructive, and well explained. Thanks Ali.

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Hey, thank you so much for your kind words! I'm really glad to hear that you find the videos useful for beginners. Your support means a lot to me, and I’ll definitely keep them coming 🙏

  • @MystMagie
    @MystMagie หลายเดือนก่อน

    These tutorials about design patterns for unreal are absolutely amazing, not to mention very rare on TH-cam. I’m about to follow your playslit about AI, I hope you are putting these patterns into practice there. If not, would be amazing to have a practicle series that uses all these design patterns you mention. (An inventory serie would be amazing 😊)

    • @AliElZoheiry
      @AliElZoheiry  หลายเดือนก่อน

      Hey! Thank you for the kind words and suggestions. I'm glad you're enjoying the tutorials. I definitely appreciate the idea of a practical series using these design patterns-I'll keep it in mind! An inventory series is also on my radar 😉. Thanks for being a part of the community! 🙏

  • @guhnahdahb
    @guhnahdahb 2 หลายเดือนก่อน +1

    Your videos, this one specifically, are absolutely amazing. I think out of all the tutorials and explanations online, yours are the best. Thank you for putting this content out in the world.
    One of the biggest obstacles I have run into and I know many others who are learning to make games, are ways actors communicate with each other without casting to everything. I've actually watched this video a couple time to reference and do it the way you teach.
    Could you make a video about best practice for class dependencies and class children? This video hits that really well but myself and probably others would love for you to explain a general sense of structure for all how to organize and build out your classes. If that makes sense.

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Hey, thank you so much for your kind words! I'm really glad to hear you find my videos helpful 🙏 I’ll definitely consider it for a future video. Thanks for watching and sharing your thoughts!

  • @TheWufstyle
    @TheWufstyle 2 หลายเดือนก่อน

    Still amazes me how in depth you go.. It's almost like you are doing it for newbies.. However, you are not actually making something that can be copy/pasted.. So in order to use it, you actually have to understand it..
    Just love your approach.. Best way to learn, is by understanding.. Top notch direction still.. Way better than all the "here's how you make a shooter", since thats just.. copy/paste tutorials :D

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน +1

      Thank you for the thoughtful comment! I'm glad you appreciate the depth of the explanations. Understanding the concepts is definitely key to mastering game development. Your support means a lot 🙏

  • @diliupg
    @diliupg 2 หลายเดือนก่อน +1

    The unreal master is back! ❤ Thanks for that perfect explanation!

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Thank you for your kind words! I'm glad you found the explanation helpful 🙏

  • @wahebplays
    @wahebplays 2 หลายเดือนก่อน

    well i watched around 5 or 6 of your videos and i can say that you are a legend (subscribed from first video )
    شكرا لك علي الزهيري , بارك الله فيك

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Thank you so much for your kind words! I'm really glad you enjoyed the videos and found them helpful. Appreciate the support! 🙏

  • @GoodguyGastly
    @GoodguyGastly 2 หลายเดือนก่อน

    I knew this stuff but love seeing how others explain it so hopfully i can be a better teacher too. And i think yours was super thorough and great. Also really cool about your chatbot.

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Thank you for your kind words! I'm glad you found my explanation helpful. It's always great to share knowledge and learn from each other 🙏

  • @williamheckman4732
    @williamheckman4732 วันที่ผ่านมา

    A pretty good breakdown of how these work

  • @Mirerro
    @Mirerro 2 หลายเดือนก่อน +1

    Another banger. So glad I found this channel.

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Thanks for your support! I'm really glad you're enjoying the content 🙏

  • @magicalgirllexluthor
    @magicalgirllexluthor 2 หลายเดือนก่อน

    This was exactly what I needed. I should share this video with my classmates!

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      I'm glad to hear it was helpful! Feel free to share it with your classmates 🙏 Thank you for watching!

  • @andrescolognesi2496
    @andrescolognesi2496 2 หลายเดือนก่อน

    All of your videos are amazing! You explain very important and advanced concepts in a simple and intuitive way. Great to see examples of things we should not do and why. Thank you for the amazing content!

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Thank you so much for your kind words! I'm really glad to hear that you find my explanations helpful and intuitive. I appreciate your support 🙏

  • @Gup11654
    @Gup11654 2 หลายเดือนก่อน +2

    Love your videos. Would be awesome if you put together a course of making a smaller game with these best programming practices and the engines framework. Part of my problem when making a game is communicating at a larger scale. Like these videos are great and shows how to do said things, but in practice when making a full game you have many more classes communicating with one another. For example, updating UI, updating and keeping track of progression, saving that progress, etc.

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Hey, thank you for your insightful comment! I appreciate your suggestion about creating a complete course. I’ll definitely consider it as I see how it could be beneficial for many. Communication between classes can be tricky, and it’s a great topic to dive into. Stay tuned! 🙏

  • @Pizatol
    @Pizatol 2 หลายเดือนก่อน +2

    Clean and clear, as usual. Thanks Ali

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Hey @@Pizatol good to see you again! Thanks for the comment, glad you found it used 🙏😊

  • @StudioVacant
    @StudioVacant 2 หลายเดือนก่อน +1

    Excellent explanation man. Lovin the content lately!

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Thank you! I'm glad you're enjoying the content 🙏

  • @grnicholsgn
    @grnicholsgn 12 วันที่ผ่านมา

    Fantastic explanations, really helped me understand. My only comment would be, I would have liked to see a different example of how using an Event Dispatcher could be useful (optimal) with something different than the Actor Component use case. But thanks so much !!

    • @AliElZoheiry
      @AliElZoheiry  7 วันที่ผ่านมา

      Hey! I'm glad to hear the explanations helped you understand 🙏 Thank you for your suggestion! I'll definitely keep that in mind for future videos. Thanks for watching and commenting! 😊

  • @BeavPlays
    @BeavPlays 22 ชั่วโมงที่ผ่านมา

    What a PHENOMENAL tutorial. Amazing! Just stumbled across your channel, will definitely check out more videos!

  • @YoutubeAccountMan
    @YoutubeAccountMan 2 หลายเดือนก่อน +1

    Great video explaining the differences. Super helpful!

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Thank you! I'm glad you found it helpful 🙏

  • @stvarnov8754
    @stvarnov8754 2 หลายเดือนก่อน +1

    Thank you for yet another amazing and free lession

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      You're very welcome! I'm glad you found it helpful. Thank you for watching and commenting 🙏

  • @sara-uh8xy
    @sara-uh8xy 2 หลายเดือนก่อน +1

    nice always wanted know about event dispatcher properly. :DD nice video as always ty

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      You're very welcome! I'm glad you found it helpful 🙏 Thanks for watching and commenting!

  • @LeateqOfficial
    @LeateqOfficial 2 หลายเดือนก่อน +2

    Amazing, thank you for this
    Keep it up !

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน +1

      You're very welcome! Thanks for your kind words, I always love reading your comments. I appreciate it 🙏

  • @OverlandBound
    @OverlandBound 2 หลายเดือนก่อน

    Thanks again Ali! Glad to have you cover this topic! Great video. Quick question: At 06:00 you dragged a connecting line from Hit Actor and it placed a reroute node. Changed my life. How did you do that?

    • @Tyrannyofman
      @Tyrannyofman 2 หลายเดือนก่อน

      Think you just hold ctrl while dragging. I could be wrong tho. Not at my PC atm

    • @OverlandBound
      @OverlandBound 2 หลายเดือนก่อน

      @@Tyrannyofman thanks for the response! That allows you to connect it to another node, not auto-drop a reroute node. I did my diligence on the interwebs but couldn’t find it.

    • @Tyrannyofman
      @Tyrannyofman 2 หลายเดือนก่อน

      @@OverlandBound I know if you do hook up a node you can double click on the string/connector and it will create a reroute node on the string itself. If you delete out the node it was connected too, your connector node will stay. I just don’t know how to drop it like he did in the graph with already connecting it to another node like a branch or function etc etc

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Hey @OverlandBound, always great to hear from you ❤️ thank you for the comment
      Indeed, when I found this feature as well, I felt like I unlocked a super power 😅. You just press "R" when dragging a node

  • @sjrulz14
    @sjrulz14 2 หลายเดือนก่อน +1

    Great explanation.. Thank you Ali ❤

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      You're very welcome! I’m glad you found it helpful. Thank you for watching and commenting! ❤️

  • @valeriymalishevskyi1723
    @valeriymalishevskyi1723 2 หลายเดือนก่อน +1

    Найкраще пояснення цієї теми на TH-cam

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Дякую! Радий чути, що пояснення було корисним 🙏

  • @MarekGamer76
    @MarekGamer76 2 หลายเดือนก่อน

    Great video, I'm really loving your teaching style. I'd really like to see a video on effectively managing a large number of timers that are based on actual clock movement with potential multipliers. Think of a game like Factorio where there could be tens/hundreds of thousands of independent timers. I may just be overthinking it and it's not as difficult to scale as I think.

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Thank you for your kind words! I'm glad you’re enjoying the content. That's an interesting suggestion, and I'll definitely add it to my list for future videos! It's a complex topic, but not impossible to tackle. Stay tuned! 🙏

  • @ztakeom
    @ztakeom 2 หลายเดือนก่อน

    I really do like your tutorials as you really do explain things very well. I am hoping you cover the Command design pattern at some point.

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Hey! Thank you for your kind words, I appreciate it! I'll definitely consider covering the Command design pattern in future content 🙏

  • @Johntawilson2012
    @Johntawilson2012 2 หลายเดือนก่อน

    omgggggg this is so great lol im making a horror game and the code looks more terrifying than the game itself lol i am so glad i stumbled upon this im about to use these interfaces and dispatchers i KNEW there was a easier method than hard coding every single thing!

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      I'm glad you found it useful for your horror game! Interfaces and dispatchers can definitely simplify things. Good luck with your project! 😄

  • @PatrickVitelaYourAverageGamer
    @PatrickVitelaYourAverageGamer 2 หลายเดือนก่อน +1

    first time seeing this channel 45 sec in and im a subscriber!

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Hey, thanks for subscribing! I hope you find the content useful 🙏

  • @DarkhusPlays1
    @DarkhusPlays1 2 หลายเดือนก่อน

    First of all, great tutorial!
    Diving further into memory management, would you ever make a tutorial on it in general? Or maybe a guide on soft references?

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน +1

      Thank you for the kind words! I'll definitely consider making a tutorial on memory management and soft references in the future. Appreciate the suggestion! 🙏

  • @BlobOfZero
    @BlobOfZero 2 หลายเดือนก่อน +1

    I've been looking for a good explanation for this question for ages now! Thank you so much for actually explaining the differences and not just saying "do this cause it's good"

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      You're very welcome! I'm glad the explanation was helpful. Thank you for your comment 🙏

  • @pleasantlygrim6712
    @pleasantlygrim6712 2 หลายเดือนก่อน +1

    This is exactly what I needed

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      You're very welcome! I'm glad to hear that it was helpful 🙏

  • @swish692
    @swish692 2 หลายเดือนก่อน

    Great video. With the introduction of Unreal Engine 5, I now increasingly find myself using Gameplay Messages as a third way of writing decoupled logic between unrelated classes. This also uses the publish-subscribe model, but requires the least amount of setup in my experience and so allows for you to implement the behaviour more freely and loosely across the game. Have you had much experience with these? If so, I would love to see a video on your opinions on them and how they should best be utilised alongside interfaces and event delegates.

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Hey! Thanks for your comment. I appreciate your insights on Gameplay Messages; they can indeed offer flexibility in decoupled logic. I haven't explored them in-depth yet, but I’ll add your suggestion to my list for future videos. Stay tuned! 🙏

  • @velha2999
    @velha2999 2 หลายเดือนก่อน +1

    This channel is gem, you deserve 1220302100123001301 times more subs. I wish i discovered you earlier, now i have to fix my code because i made a traps that can kill a player and i did them with "Cast to BP_PlayerCharacter" and then makes player go ragdoll and disable movement and player respawns, but interfaces would definitely have helped me saving memory usage. Is it possible to make it? Whenever player's body interacts with box collsion of trap it dies and simulates ragdoll physics and instead of casting all the time all types of traps to BP_PlayerCharacter it just communicates with interfaces? I will try to do that, probably i will struggle as im really new to unreal engine and new to coding lol, i just started 2/3 months ago. Anyways awesome tutorial and explanation, subbed and liked and i will watch more of ur old videos and continue watching newer ones in the future aswell. Have a nice day!

    • @velha2999
      @velha2999 2 หลายเดือนก่อน +1

      oh i just watched further and i know that i should use event dispatchers instead of interfaces when it comes to player's death i guess XD

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Hey! Thank you for your supportive comment! 🙏 Yes, using interfaces is a great way to streamline communication and save memory. It sounds like a solid plan to implement that for your traps! Don't worry if you face challenges; everyone starts somewhere, and learning takes time. I'm glad you found the tutorials helpful, and I appreciate you subscribing! Enjoy your journey with Unreal Engine, and have a nice day! 😊

    • @velha2999
      @velha2999 2 หลายเดือนก่อน

      @@AliElZoheiry thanks Ali, keep it up with ur great content if u ever release course im 100% buying it. Have a nice day aswell

  • @Tenchinu
    @Tenchinu 2 หลายเดือนก่อน

    after watching ever tut and every vid, I'm starting to FINALLY understand UE. Thnk you so much! :)
    was wondering.... would it be ok to suggest your next tutorial series, or only patrons can give suggestions? more than happy to become patreon if we can give a bit of a nudge in a certain direction to learn something specific :)

    • @AliElZoheiry
      @AliElZoheiry  หลายเดือนก่อน

      Hey! I'm glad to hear that you're starting to understand UE, that's awesome! 🙏 You're more than welcome to suggest ideas for future tutorials, I always appreciate input from my viewers. Thank you for considering supporting me on Patreon as well! Just let me know what you have in mind 😊

    • @Tenchinu
      @Tenchinu หลายเดือนก่อน

      @@AliElZoheiry im not sure if it has been already suggested, but maybe a stamina system incorporates the environment source be rly awesome! Similar to the one in BotW (how you can climb any surfaces, slide down and getting exhausted if a surface is inclined, how u go faster downhill, gliding).
      Even if if only for Patreons, i would gladly give u ma monei to learn smt like that. ur an amazing teacher :)

    • @AliElZoheiry
      @AliElZoheiry  หลายเดือนก่อน +1

      Ahh I like it for my "Games Dissected" series, I'll definitely keep it in mind 👍​@@Tenchinu

    • @Tenchinu
      @Tenchinu หลายเดือนก่อน

      @@AliElZoheiry thnk u very much! cannot wait :)

  • @C47.0
    @C47.0 2 หลายเดือนก่อน

    Can you make a course about everything the most used nodes in blueprints? That would be very helpful for a lot of people I believe. Great videos btw!!

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน +1

      Hey! Thank you for the suggestion! I’ll definitely consider making a course on the most used nodes in Blueprints 🙏 Glad you’re enjoying the videos!

  • @WestinsWorldStudio
    @WestinsWorldStudio 2 หลายเดือนก่อน +1

    Another Great video! I'm curious what are other Actor Components you most frequently use besides health?

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Thanks for the compliment! Besides health, I often use Components like Movement, Inventory, and many others, though it highly depends on the type of game. If you have any specific use cases in mind, feel free to ask! 🙏

    • @WestinsWorldStudio
      @WestinsWorldStudio 2 หลายเดือนก่อน

      ​@@AliElZoheiry Thank YOU! Since you asked....! I'm building a single-player, turn based battle + explore game inspired by PS1 final fantasies.
      For battle mode - Health as you suggested, I suppose MP for magic abilities.
      For explore mode - Inventory as you suggested would be great. So long as the items are unique to explore mode (e.g. keys).
      Any other ideas at top of mind?

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน +1

      Sounds pretty good ​@@WestinsWorldStudio indeed an inventory component could be great for your use case

  • @АнтонПейсахович
    @АнтонПейсахович หลายเดือนก่อน

    Still admiring your talent for explaining things so lucidly!
    I'm very interested in your opinion on the solution I came up with and how bad or good it is. I decided to switch to components, and instead of interfaces I use tags (to make sure that the actor has such a component) . For example, an AC_MyComponent component adds an “AC_MyComponent” tag to its owner and on a fordcast I can get something like GetAllActorsWithTag, then from each actor get the AC_MyComponent component and work with it. This allows me to add a component to an actor without having to change the actor. I only use interfaces instead of tags if I have to call component functions in their implementations anyway. I see these pros and cons of my solution:
    Pros:
    1) The actor may not know anything about the component. For example, if an item can be reported by radio, we don't need to change the item itself, we just add a component.
    2) The actor's logic remains as clean as possible and, as far as possible, is not cluttered by working with the component
    Cons:
    1) I don't know, but I assume that getting actors by tag is slower than getting them by interface. Plus, you probably have to store a reference to each actor and a reference to the component from it
    2) Most components will have to make an assumption about the approximate type of their owner.
    Extremely interested in what you think about this, what mistakes you see in it.

    • @AliElZoheiry
      @AliElZoheiry  21 วันที่ผ่านมา

      Hey! Thank you for the thoughtful comment and for sharing your approach. I appreciate your analysis of the pros and cons-it really shows your critical thinking.
      Using components with tags can indeed keep your actor logic clean and decoupled, which is a solid advantage. As for your concerns regarding performance, tags can sometimes be less efficient than interfaces, particularly when dealing with large numbers of actors. However, for many scenarios, the difference may not be significant enough to outweigh the benefits of using components. It’s also true that relying on assumptions about the owner’s type can lead to issues if not managed carefully.
      Overall, it sounds like you're on the right track! Keep iterating on your ideas and experimenting to find the best balance for your specific needs. Would love to hear more about your findings as you continue working on this! 🙏

  • @TheRopiak
    @TheRopiak 2 หลายเดือนก่อน

    lol I literally was thinking this question the other day. You mind reader! Great video thank you.

    • @TheRopiak
      @TheRopiak 2 หลายเดือนก่อน

      For a Points/Score system in the HUD, I think that would be similar to health where there's an actors component with an event dispatcher on both sides correct? I can see how an interface could be used too but It sounds like Dispatchers would be better in that case.

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Haha, that's funny! I'm glad the video resonated with you. Thank you for watching and your kind words! 😊

  • @zack32461
    @zack32461 2 หลายเดือนก่อน +1

    So incredibly valuable

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Thank you! I'm glad you found it valuable 🙏

  • @VojmirDev
    @VojmirDev 2 หลายเดือนก่อน +1

    Great video as usual ☺️

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน +1

      Thanks! I'm glad you enjoyed it 😊

  • @lespaul1507
    @lespaul1507 2 หลายเดือนก่อน

    Love the content, Ive been wanting to learn more about dispatchers. Is a dispatcher only used from a component, or can you use them outside of components? Thanks for the hard work!

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Hey, thank you for your kind words! Dispatchers can be used both within components and outside of them. They're a great way to keep your code organized and facilitate communication between different parts of your game. If you have more questions, feel free to ask! 🙏

  • @KINGDOMSONSTV
    @KINGDOMSONSTV 2 หลายเดือนก่อน

    Beat Boxing vid next? ;) Great explanation as always and very much appreciated for sharing. ~Thank you.

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน +2

      @@KINGDOMSONSTV hahaha glad you noticed that Easter egg, now I know who watches till the end ;)

  • @TheKr0ckeR
    @TheKr0ckeR 13 วันที่ผ่านมา +1

    This is incredible.

    • @AliElZoheiry
      @AliElZoheiry  7 วันที่ผ่านมา

      Thank you! I'm glad you think so 🙏

  • @strobes2638
    @strobes2638 2 หลายเดือนก่อน

    these videos are great, makes it really easy to understand proper design patterns and their practical applications. one question I had is whether it makes sense to use interfaces, or what the correct approach is, when the calling actor may be looking for different types of data from interface function depending on the object it's used on?
    ex: I have an interact interface defined and implemented similarly to the one in the video by several actors in my project. However, while my player doesn't care about what happens when it calls interact on a door, when calling it on something like a zipline, vehicle, etc. I'd like it to return a pointer/reference to the actor so my player character can do stuff with it. My initial thought would be to make it so that interact always returns an AActor pointer, but have the door return null. Then for all non-null pointers, try to cast to each class?
    Alternatively, maybe the player could pass a reference to itself using the interact interface, and then the actors could use that reference to pass data back to the player. For example, the player calls interact(this), then the zipline can use that pointer to set a pointer to itself in the player class like player->rideZipline(this).

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน +1

      Hey, thanks for your comment! You bring up a great point. Using interfaces can definitely allow for flexibility in design. Your idea of having the interact function return an `AActor` pointer sounds like a solid approach. This way, you can easily check for null and handle each actor type accordingly. Passing a reference to the player is another option that could work well, especially if you want the actors to directly communicate back with the player. Both approaches have their merits, so it really depends on what fits best in your specific use case. Good luck with your project! 🙏

  • @ThadeousM
    @ThadeousM 2 หลายเดือนก่อน +1

    Awesome fella thank you!

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      You're welcome! Glad you liked it 🙏

  • @gibson7969
    @gibson7969 2 หลายเดือนก่อน

    As always the best tutorial maker on youtube, great video thank you !
    The only thing that I still don't get is where to use an event dispatcher other than linking an Event in a Component to its owner.
    The receiver of an event dispatcher needs a reference to do the binding, making it less modural and lead to casting. So maybe we should avoid using event dispatchers in those cases and reserve it for when the reference is easy to get ? Or did I miss something else ?

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Hey, thank you for your kind words! 🌟 You bring up a great point about event dispatchers. To take it a step further and remove the need to get a reference to the actor that is dispatching an event, you can create an "Event Manager" also known as an "Event Bus". Which will allow you to trigger an event from anywhere, and have a central listener that broadcasts it.
      For example, the enemy dying can trigger an event. Then the player can listen to all event of any enemy dying without having a reference to any enemy.
      I cover this topic in detail in this video and show how to implement it:
      th-cam.com/video/y4fE2JdFdvY/w-d-xo.html

    • @gibson7969
      @gibson7969 2 หลายเดือนก่อน

      @@AliElZoheiry Thanks for the response ! I forgot you hard a video about that, very useful !

  • @NatadTech
    @NatadTech 2 หลายเดือนก่อน +2

    Thanks Bro ♥️

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      @@NatadTech you're very welcome, thanks for watching and commenting

  • @dewasha
    @dewasha 2 หลายเดือนก่อน

    It would be great to have more AI videos on how to add improvements and the possibility of AI tutorials that are friendly like in stores, banks for buying and selling items, etc. since there is no information on that.

    • @AliElZoheiry
      @AliElZoheiry  หลายเดือนก่อน +1

      Hey! Thank you for your suggestion, it’s definitely something I’ll keep in mind for future videos. I appreciate your input 🙏

  • @michaelbond4609
    @michaelbond4609 2 หลายเดือนก่อน +1

    Thank you for this info

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน +1

      @@michaelbond4609 you're very welcome 😁 thanks for watching and commenting 🙏

  • @DG-pw1hx
    @DG-pw1hx 2 หลายเดือนก่อน +1

    Thank you!

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      You're welcome! Thanks for watching and commenting 🙏

  • @juanmilanese
    @juanmilanese 2 หลายเดือนก่อน +1

    Great video!

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Thank you! Glad you enjoyed it 🙏

  • @ausernamethatisvalid
    @ausernamethatisvalid 2 หลายเดือนก่อน

    Thanks Ali! The way you explain different concepts is so clear. you really have a talent for this. I have one question though. All of the videos I have watched regarding interfaces, references, and memory usage always use the same example: an interactable interface and an interact function / event. This is great and all but what if I only want to get basic data of an object, like world transform for example, from another object, let's say my player character, without creating a hard reference to that specific object. Is it possible to use BP interfaces for that?
    I was thinking of creating a generic BP interface called "reference manager" where I would create functions that declare basic data so I could get them and create variables out of them inside the objects that need a reference to this data.

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน +1

      Hey! Thank you for your kind words, I really appreciate it 🙏 For getting basic information, you should already be able to do that on any actor, you can get the transform of any actor without having a reference to a specific class. So I wouldn't recommend creating an interface for defining functions that might already exist on the actor class.

    • @ausernamethatisvalid
      @ausernamethatisvalid 2 หลายเดือนก่อน

      @@AliElZoheiry Thanks for replying! I'm not sure how it's possible to get an actor's data from another actor's blueprint without creating a hard reference though.
      let's say I use the "get actor rotation" node in my player character blueprint and the target is another actor called BP_Box for example. I'm not sure how I can do that without declaring to my BP_PlayerCharacter that BP_Box exists. I know that casting creates a hard reference so I was trying to find a way to easily get basic data from actor to actor without having to create hard references.
      In the meantime I found a workaround using a blueprint interfaces and tags which seems to work relatively well

  • @Storypaintings
    @Storypaintings 14 วันที่ผ่านมา

    Awesome video thanks a lot! Do you have plans to make a video about the State Stree? I would love to hear your thoughts a guidence on how to use it :)

    • @AliElZoheiry
      @AliElZoheiry  7 วันที่ผ่านมา +1

      Hey! Thank you for the kind words! I don't have a video on the State Tree planned yet, but I'll definitely consider it for the future. Thanks for the suggestion! 🙏

  • @dddMaya
    @dddMaya 2 หลายเดือนก่อน

    That is, it turns out that the interfaces operate at the global level and the event dispatcher locally, Thank you very much

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน +1

      You're welcome! That is indeed one difference, but event dispatchers can be built in a way to operate on a global level as well, by building something called an "Event Manager". I explain that in this video here th-cam.com/video/y4fE2JdFdvY/w-d-xo.html

  • @HumpaLumpaBiriBam
    @HumpaLumpaBiriBam 2 หลายเดือนก่อน

    ach! I was expecting that! thanks! 👍

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      @@HumpaLumpaBiriBam you're very welcome, glad you found it helpful 🙏

  • @Tbm147
    @Tbm147 2 หลายเดือนก่อน

    Nice video. It would be cool if you could do a similar video for Gameplay Tags.

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Thanks for your comment! I'll definitely add that to my list of video ideas 🙏

  • @TheSkopi
    @TheSkopi 2 หลายเดือนก่อน

    Hi, love your videos, keep up the great work.
    I would like to ask for a video which I was not able to find anywhere or at least not explained video how it works really. The subject is control rig blueprint. How to control the players character during game- to grab a door handle when opening a door, make character touch a wall in front when moving too close or simular stuff. I followed some tutorials but they never explain how the transforms changes work and I see alot of weird position of arms or legs of which I am sure should not be possible. Thank you.

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน +1

      Hey! Thanks so much for your kind words and your suggestion. Controlling character interactions like that sounds interesting, and I'll definitely consider it for a future video. The way transforms work can be tricky, but I’ll try to clarify that. Appreciate your support! 🙏

  • @Deculayn
    @Deculayn 2 หลายเดือนก่อน

    Great video! Could you explain Game Mode and Game Instance as well? Thanks!

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Hey! Thank you for your comment! I appreciate the suggestion, and I'll definitely consider covering Game Mode and Game Instance in future videos 😉

  • @kyaustad
    @kyaustad 2 หลายเดือนก่อน

    Awesome vid. My question, when should you use multiple interfaces? Rather than throwing all your stuff in one cohesive interface?

    • @AliElZoheiry
      @AliElZoheiry  หลายเดือนก่อน +1

      Hey, thank you for the question! It's generally a good idea to use multiple interfaces when you have distinct behaviors or functionalities that may not always be applicable to every class. This keeps your code cleaner, easier to maintain, and more modular. Hope that helps! 🙏

  • @joshnevel1504
    @joshnevel1504 2 หลายเดือนก่อน +1

    Thank you

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      You're welcome! Thanks for watching and commenting 🙏

  • @abedypc
    @abedypc 2 หลายเดือนก่อน

    liked before watched, thanks bud

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Thank you! I appreciate your support 🙏 Enjoy the video!

  • @SaschaRobitzki
    @SaschaRobitzki 16 วันที่ผ่านมา

    Good explanation.

    • @AliElZoheiry
      @AliElZoheiry  15 วันที่ผ่านมา

      Thanks! I’m glad you found it helpful 🙏

  • @kellowattentertainment
    @kellowattentertainment 2 หลายเดือนก่อน

    Just use both. They work very wonderfully when use together

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Thanks for the input! It's great to hear that they work well together. Appreciate your comment! 🙏

  • @Chewyevp
    @Chewyevp 2 หลายเดือนก่อน +1

    awesome video.

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Thanks! Glad you enjoyed it 🙏

  • @maxxxborn
    @maxxxborn 2 หลายเดือนก่อน

    Good explanation! One thing which i always struggling is...when you doesn't have reference to actor for interface/dispatcher call.
    In your example it's pretty easy with trace, but imagine case when door actor should ask some global manager actor, can open? (Like when alarm state is active or something). Or manager has to tell all objects to change their states...
    In that case door/manager should has hard reference on begin play or hard referenced through level. And i don't have another solution for that, and i really bothered of that because most of the "managers" has many hard references to deal with other things in game.

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน +2

      Hey! Great question, and I'm glad you found the explanation useful 🙏 For managing references like this, all actors can have a hard reference to the "manager" actor itself, that's fine because you expect that actor to always be there and all other actors to depend on it (since it's a global manager), but don't put references to other actors in the manager itself, the manager should be agnostic of other classes.
      I have a tutorial on how to build an "Event manager" for usecases like that, check it out if you're interested th-cam.com/video/y4fE2JdFdvY/w-d-xo.html

  • @joepolidoro429
    @joepolidoro429 2 หลายเดือนก่อน

    Comment after comment straight gushing over this guy's ability to teach. I keep scrolling and they're all saying the same thing using different words. Going to give this a watch and see if it's legit or if guy just rented some bots to flood the comment section.

    • @joepolidoro429
      @joepolidoro429 2 หลายเดือนก่อน +1

      Fuk... yeah, that was very well constructed and extremely informative compared to the majority of UE content out here. Sorry for doubting. Keep on l, keeping on.

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน +1

      Hey! I appreciate your skepticism-it’s always good to question things. I genuinely strive to educate and not just entertain, I believe that's what the comments are reflecting because there's a lot of content out there focused on getting views only and the content is secondary. I leave a lot of views on the table to cater for those who actually want to learn 🙏

  • @sutadoralive
    @sutadoralive หลายเดือนก่อน

    Hello and thank you for this great video! I really like your work and your voice 😊.
    Do you think it’s a good idea to add some Cast To (player controller, game mode, etc.) in the Game Instance, promote it to a variable, and load it during the Loading Page to use it whenever needed without using more resources?
    Thank you very much.

    • @AliElZoheiry
      @AliElZoheiry  หลายเดือนก่อน +1

      Hey! Thank you for your kind words 😊
      It's definitely a good idea to cast to your custom framework classes and store references for those. It has no impact on memory since these classes are always loaded into memory anyway, so don't worry about casting or storing references to them

    • @sutadoralive
      @sutadoralive หลายเดือนก่อน

      @@AliElZoheiry Ok, it's good to know! Thank you so much to always take the time to answer. I think you're a really kind person 🙏🏽

  • @Lyonichannel
    @Lyonichannel 2 หลายเดือนก่อน

    Hi! I really like your video! Could you please make a video about data assets and best way to create content for project? Because for now I could use data assets, data tables, raw blueprints for some data and etc. I want to understand, when I should use every stuff, thank you!

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน +1

      Hey! I'm glad you liked the video! Thanks for the suggestion, that's a great topic. I'll definitely consider making a video on data assets and when to use each type. Stay tuned! 🙏

  • @doomlord5236
    @doomlord5236 2 หลายเดือนก่อน

    Hey love ur tutorial im been using ue damage system from a few week ago but i really want to learn jow to make upgrade and upgrade item pick up like risk of rain like armor ,speed , ability,bla bla..... cause so far only ur tutorial work hope u can help also keep going man ur tutorial is amazing

    • @doomlord5236
      @doomlord5236 2 หลายเดือนก่อน

      Update im sorry if i asking to much but it be great to if when u pick up the item it randomize the upgrade that u can pick too hope u can help

    • @AliElZoheiry
      @AliElZoheiry  หลายเดือนก่อน

      Hey! Thank you for your kind words, I really appreciate it 🙏 As for the upgrades, I’ll definitely consider creating a tutorial on that! Stay tuned! 😉

    • @doomlord5236
      @doomlord5236 หลายเดือนก่อน

      @@AliElZoheiry omg thank you high hope on u man keep it up

  • @박민철-g5v
    @박민철-g5v 2 หลายเดือนก่อน +1

    Legendary. Nothing else to add to my comment.

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Thank you for your kind words! I appreciate it 🙏

  • @roryconnor9525
    @roryconnor9525 หลายเดือนก่อน +1

    When you use "Get Actor of Class" or "Get Component by Class" in an attempt to get the actor that is calling the dispatcher, so that you can bind the dispatcher, can this have negative effects for other actors that have different logic but use the same component or class? Let's say that it does cause issues, I've heard that you can also use tags to get specific actors, or storing references to actors in game instances, would these be more preferable or the same? Thanks!

    • @AliElZoheiry
      @AliElZoheiry  21 วันที่ผ่านมา +1

      Hey! Get actor of class is very different than get component by class. I use "Get component by class" to search the components of a specific actor to see if that component exists. and then I do certain actions (like binding) only if the component exists. If the component doesn't exist, then I do nothing, and this has no negative effects, because I am only supporting actors that do have this component, and the ones that don't just don't get the additional functionality (which is expected)

  • @NewUnrealEnginelearner-gv9cr
    @NewUnrealEnginelearner-gv9cr 2 หลายเดือนก่อน +1

    I want to integrate the consolidation system with the inventory system I almost did this, but I can't get the health bar to work

    • @AliElZoheiry
      @AliElZoheiry  หลายเดือนก่อน +1

      Hey! That sounds like a great project!. Good luck! 🙏

    • @NewUnrealEnginelearner-gv9cr
      @NewUnrealEnginelearner-gv9cr หลายเดือนก่อน +1

      @@AliElZoheiry I think so and the mission was completed successfully

  • @abdoulraoufgambo
    @abdoulraoufgambo 2 หลายเดือนก่อน

    Hi Ali !
    hope you're doing well !!
    when the next of game dissecting series will be release ?
    wish you all the best !
    sorry for my english 🙂

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน +2

      @@abdoulraoufgambo I was thinking of some mechanic from Black Myth Wukong. What do you think?

    • @abdoulraoufgambo
      @abdoulraoufgambo 2 หลายเดือนก่อน

      @@AliElZoheiry that would be cool !

  • @farloux
    @farloux 4 วันที่ผ่านมา

    Hi Ali, could you cover behavior trees, state trees and (unrelated) gameplay tags?

    • @farloux
      @farloux 4 วันที่ผ่านมา

      Also could you cover when to use event graphs versus construction scripts?

    • @farloux
      @farloux 4 วันที่ผ่านมา

      and also could you cover blueprint function libraries?

  • @IberianInteractive
    @IberianInteractive 2 หลายเดือนก่อน

    hi, you are a great teacher. What do you do for a living? Amsterdam is very expensive

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน

      Hey! Thank you for your kind words 🙏 I am a software engineering manager. It's definitely a challenge, but I enjoy it!

  • @john-thejohn-johnson4403
    @john-thejohn-johnson4403 2 หลายเดือนก่อน +1

    What is your preferable option for player/UI communication and why? Right now i use interfaces, because my player doesnt have references to all UI elements, only its parent and i also need to pass data from them, but i dont know if this is the best method.

    • @AliElZoheiry
      @AliElZoheiry  2 หลายเดือนก่อน +1

      Hey! Interfaces are a solid choice for decoupling your player from UI elements. They provide flexibility since you don’t need direct references. but event dispatchers are useful to notify the UI element that something has happened, like the example I mentioned with decreasing the health percentage on the widget when the player takes damage. So feel free to use both, there is no one size fits all solution