Understanding "Components" in Unreal Engine | UE5 Explained

Sdílet
Vložit
  • čas přidán 10. 09. 2024

Komentáře • 292

  • @ryansenger408
    @ryansenger408 Před 27 dny +95

    Over my career, I've worked at Blizzard, EA, Microsoft, and other studios and I can say with confidence you would be a rockstar on any team I've been a part of. Your ability to not just clearly explain information, but also code cleanly and efficiently while taking the initiative is what all AAA studios look for. Kudos.

    • @AliElZoheiry
      @AliElZoheiry  Před 27 dny +12

      Thank you so much for your kind words and encouragement! It means a lot to hear such praise from someone with your experience in the industry 🙏

  • @stvarnov8754
    @stvarnov8754 Před 28 dny +30

    You are the best, most comprehensive, most useful, most humble UE5 channel bar none! You teach the best practices, most efficient methods and unlike many others you actually know what you are doing. thank you so much for making these videos for free,. please don't stop making them If you do I will get depressed.

    • @larsh.1154
      @larsh.1154 Před 28 dny +9

      the best thing is that he teaches you the best way to implement something instead of just showing you the easiest way, which is usually not scalable and only leads to problems in the end.

    • @stvarnov8754
      @stvarnov8754 Před 28 dny +3

      ​@@larsh.1154 Thats exactly it! most tutorials out there are pretty much useless if you are trying to make an actual game.

    • @dudiheadz
      @dudiheadz Před 27 dny +2

      Pretty much what I wanted to say.

    • @AliElZoheiry
      @AliElZoheiry  Před 27 dny +5

      Thank you so much for your kind words! I really appreciate your support and I'm glad you're finding the videos helpful. I'll definitely keep making them 🙏
      and thank you all for the replies and the encouragement! You are all reason why I do this 🙏

    • @DarkSession6208
      @DarkSession6208 Před 20 dny +1

      I fully agree, hes probably in the top 5 people in the unreal youtube tutorial scene that actually know how things work and when to use something. I always thought the other people never explained it because its uncesserary or should be done like they show, but in reality its because they don't know it themself better. Its behind my mind how 7 different Component videos were not able to explain it properly. It just takes ONE proper done, and this just confirms that i wasnt the problem understanding but the people not even teaching this stuff here. Its literally so simple just giving a concrete example when everyone else is talking in abstract concept bullshit thinking you would understand without years of C++ experience. Theres zero reason to teach concepts without giving a real world example. You can't tell someone how to make a proper Bolognese without him seeing how it should look and taste like.

  • @jaujud
    @jaujud Před 5 hodinami

    Probably the only UE channel teaching the right architecture practices and decision making when building a game. Most of the channels focus on WHAT and HOW but ignore the WHY. The only way I know to consistent progress is grasping the WHY part. As someone with a background in software engineering I wish more channels would focus on tutorials of this type but I guess you come to value them only when you understand the problem with "How to do X" types of tutorials.
    Best of luck in the future! Looking forward to more exciting videos.

  • @artkalm
    @artkalm Před 3 dny

    I've said it before and I say it again: if somebody told me all this earlier I could be major game developer in some AAA company today. It's just amazing to have somebody who can make all this methods and tricks so easy to understand. Thank you very much, Ali!

    • @AliElZoheiry
      @AliElZoheiry  Před 19 hodinami

      Thank you for your kind words! I'm really glad the content is resonating with you and making things easier to understand. I appreciate your support 🙏

  • @justinstovall5929
    @justinstovall5929 Před 27 dny +6

    I just want to echo what everyone else is saying.. You're hands down the best at explaining blueprints in a way that everyone can understand. I can't stress enough how lucky we are to have you!

    • @AliElZoheiry
      @AliElZoheiry  Před 26 dny

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

  • @loicbosman4739
    @loicbosman4739 Před 6 dny +1

    The fact that this video demonstrates not just what but why and why not is incredibly helpful

    • @AliElZoheiry
      @AliElZoheiry  Před 5 dny +1

      Thank you! I'm glad to hear that you found it helpful 🙏

  • @LeateqOfficial
    @LeateqOfficial Před 27 dny +7

    Your tutorials are the best
    Because of your combat system video i was able to figure out how to make a healing items you can pick up and each gonna heal differently
    This was a huge milestone because i’m new to unreal and before your tutorials i was just copying blueprints not knowing what I’m doing
    Now things finally started to click
    Thank you 🙏

    • @AliElZoheiry
      @AliElZoheiry  Před 27 dny +1

      Hey! I'm really glad to hear that my tutorials are helping you understand Unreal better. It's awesome to see you reaching milestones like creating healing items! Keep up the great work, and thank you for sharing your progress 🙏

  • @AugustSargentiOfficial
    @AugustSargentiOfficial Před 10 dny +1

    I feel like you have become the Brackeys of Unreal engine. Glad you're here and love all of your content. Keep it coming.

    • @AliElZoheiry
      @AliElZoheiry  Před 9 dny

      Thank you so much for your kind words! I really appreciate the comparison to Brackeys 🙏. I'm glad you're enjoying the content, and I'll definitely keep it coming!

  • @konichiwatanabi
    @konichiwatanabi Před 7 dny

    It's amazing how important this seems yet I've never come across it until your video. Even reading the supplement you linked, I'm now amazed that inheritance hasn't come under more scrutiny. Most ue5 tuts just focus on inheritance but never caution how knotted it can become. Thanks, Ali, for the potent content!

    • @AliElZoheiry
      @AliElZoheiry  Před 5 dny +2

      Hey! Thank you for the thoughtful comment. Though inheritance itself is not something to avoid. All the patterns that I teach should be used together, it's just about knowing what to use when. So if you have a character class, then you enemy and player should both inherit from that, but you shouldn't add health and damage functionality to the character class if you plan on having it shared by other classes that are not of type character.
      All design patterns have their pros and cons, they are made to solve specific problems that everyone will encounter when writing software, so knowing as many design patterns as possible is the best way to ensure you are writing clean code.

  • @InJJWeTrust0121
    @InJJWeTrust0121 Před 26 dny +4

    Like others who also seem to be in the industry have mentioned in your comment section, I've also been working with multiple AAA studios over the years and believe that your tutorials are incredibly high quality, straight to the point, and very easy to follow along with and understand.
    If you ever make a course going over blueprints in Unreal Engine 5, I have no doubt in my mind that it will be an amazing success.
    Keep up the awesome work! I'm really looking forward to watching each new video that comes out on your channel.

    • @AliElZoheiry
      @AliElZoheiry  Před 21 dnem +1

      Thank you so much for your kind words and support! I’m really glad you find the tutorials helpful. I appreciate your confidence in a potential course, and I’ll definitely keep it in mind for the future! Stay tuned for more content 🙏

  • @ibuxrs594
    @ibuxrs594 Před 23 dny +2

    More people should get to watch this fantastic video!
    Some of the larger UE5 creators tend to only explain how something works in isolation, which sometimes makes it difficult to understand how to use what I take away from those videos. Really love how you add so much value to what you are teaching here by showing and explaining where it all fits into a system! Thanks! 😊

    • @AliElZoheiry
      @AliElZoheiry  Před 21 dnem +1

      Thank you so much for your kind words! I really appreciate your feedback, and I'm glad to hear that you find my explanations helpful. Your support means a lot 🙏

  • @Feoryc
    @Feoryc Před 2 dny

    Ali, your skill of tutoring is increadible! You're a gift to the community, Thank you

    • @AliElZoheiry
      @AliElZoheiry  Před 19 hodinami

      Thank you so much for your kind words! I'm really glad you find it helpful 🙏

  • @dudiheadz
    @dudiheadz Před 27 dny +1

    The greatest thing about your videos is that even though I felt like I knew about components in unreal, I knew I'd still find value from your video on them. Boy was I right!

    • @AliElZoheiry
      @AliElZoheiry  Před 26 dny +1

      Thank you so much for your kind words! I'm really glad to hear that you found value in the video, even with your prior knowledge 🙏

  • @codymccarty9327
    @codymccarty9327 Před 17 dny

    Often I make something, then refactor with considerations to public API, dependencies, etc. This takes mental effort. Then i watch one of your videos and realize that's how it should be done everytime, without thought. Keep making these videos! I want to see more architectural videos.

    • @AliElZoheiry
      @AliElZoheiry  Před 16 dny

      Hey! I really appreciate your feedback, thank you! I’m glad to hear the videos are helping you refine your approach. I'll definitely keep your suggestion for more architectural content in mind 😉🙏

  • @sterlingjackson2182
    @sterlingjackson2182 Před 19 dny

    As a software engineer who is new to UE, this is exactly what I’ve been looking for-how to efficiently and elegantly structure and re-use logic in UE. You just answered several questions I’ve been struggling with in one short video. Thank you!!

    • @AliElZoheiry
      @AliElZoheiry  Před 16 dny

      You're very welcome! I'm glad to hear that you found it helpful. Thanks for your comment and for checking out my videos 🙏

  • @Kurock1000
    @Kurock1000 Před 26 dny +1

    For the algorithm... You are a fantastic, top notch, best of the best educator, you explain what is necessary, clearly, concisely with no added bull. For that I cannot thank you enough for the hard work and effort you put into these. I've shared you with people who have experience and people who are fresh to unreal and both have come back and told me how helpful your videos are.

    • @AliElZoheiry
      @AliElZoheiry  Před 26 dny +1

      Thank you so much for your kind words! I'm really glad to hear that both experienced users and beginners are finding my videos helpful. Your support means a lot! 🙏

  • @Aleks_Sense
    @Aleks_Sense Před 17 dny

    You are so chill and explain so well with real examples is very easy to follow. Thank you for that

    • @AliElZoheiry
      @AliElZoheiry  Před 16 dny

      Thank you for your kind words! I'm really glad to hear that you find it easy to follow. I appreciate you taking the time to comment 🙏

  • @BozBundalo
    @BozBundalo Před 28 dny +2

    another lovely video demystifying common confusions. I especially loved how you show actually how to communicate with owning actors too and pass things back and forth. Great stuff.

    • @AliElZoheiry
      @AliElZoheiry  Před 27 dny

      Thank you so much for your kind words! I'm glad you found it helpful and enjoyed the explanations 🙏

  • @KINGDOMSONSTV
    @KINGDOMSONSTV Před 18 dny

    Really enjoy the way you explain everything as you go threw it. You really have a good way to communicate to your fellow listeners. I'm really learning from your teaching method. Thank you

    • @AliElZoheiry
      @AliElZoheiry  Před 16 dny +1

      Thank you so much for your kind words! I'm glad to hear you find my teaching method helpful. I appreciate your feedback 🙏

  • @terryrsh8927
    @terryrsh8927 Před 14 dny

    These design pattern explanations are the best I've seen for UE thus far, if not the best overall. This channel is rapidly becoming my favorite UE channel, thank you!

    • @AliElZoheiry
      @AliElZoheiry  Před 13 dny

      Thank you so much for the kind words! I'm really glad you're enjoying the content and finding it helpful 🙏

  • @ahsankhan-nc6wd
    @ahsankhan-nc6wd Před 7 dny

    i am watching unreal engine tutorials and Course since 2 year but i never enjoy soo much while watching your video you are going by fav. youtube for unreal engine Tutorials

    • @AliElZoheiry
      @AliElZoheiry  Před 5 dny +1

      Thank you so much for your kind words! I'm really glad to hear you're enjoying the videos. Your support means a lot to me 🙏

  • @Subj3kt1
    @Subj3kt1 Před 7 dny

    Aaaaand now I'm thinking differently. Really appreciate the effort you put into these, man. Cheers from Australia!

    • @AliElZoheiry
      @AliElZoheiry  Před 5 dny

      Hey! Thank you so much for your kind words. I'm really glad the videos are making you think differently. Cheers 🙏

  • @UnrealShack
    @UnrealShack Před 28 dny +3

    Awesome like always! Will say it again: it was awesome, mega informative and cosy to follow your tutorials mate! 30k subs already, and you deserve more! Good luck!

    • @julesarmani7650
      @julesarmani7650 Před 27 dny

      Just give it some time watch that count grow 💯

    • @AliElZoheiry
      @AliElZoheiry  Před 27 dny

      Thank you for your kind words! I'm glad you're finding the tutorials informative and easy to follow. I appreciate your support and encouragement 🙏

  • @shoxxie
    @shoxxie Před 11 dny

    I never tried doing a damage and health system using actor components, as I always used GAS for handling attributes so far. It does give a lot of advantages, especially for multiplayer games, but I see how this could also work for simpler structures. Well explained

    • @AliElZoheiry
      @AliElZoheiry  Před 9 dny

      Thanks for sharing your thoughts! It's true that both methods have their advantages, and it's great to find approaches that suit different needs. I'm glad you found the explanation helpful! 🙏

  • @Imtinan.ACEDIA
    @Imtinan.ACEDIA Před 23 dny

    Man, I can't stress it enough when I say, Superb.
    Whenever I see something from your channel, I get motivated and happy.
    Top Tier Unreal Instructor, I'd say.

    • @AliElZoheiry
      @AliElZoheiry  Před 21 dnem

      Thank you so much for the kind words! I'm really glad to hear that my content motivates you. I appreciate your support 🙏

  • @PiLuLyArus
    @PiLuLyArus Před 25 dny

    This might be the best channel with Unreal Engine tutorials on youtube. Very clear and comprehensive. I was not at all familiar with some of these concepts, as I am still very much a beginner, but this video was a very exciting watch with lots of notes to take. Thank you!

    • @AliElZoheiry
      @AliElZoheiry  Před 21 dnem

      Thank you so much for your kind words! I'm really happy to hear that you found the video helpful and exciting. Keep up the great work as you continue learning! 🙏

  • @SMJay
    @SMJay Před 24 dny

    Wow after a year of following tutorials none covered creating actor components and it’s so simple and useful. 🙏

    • @AliElZoheiry
      @AliElZoheiry  Před 21 dnem

      I'm glad to hear that you found it useful! Actor components can really enhance your project. Thank you for following along and your support! 🙏

  • @kanebrady2228
    @kanebrady2228 Před 27 dny

    by far the most clear and useful unreal engine youtuber along with unreal sensei - thank you for all your work - really helpful!

    • @AliElZoheiry
      @AliElZoheiry  Před 26 dny

      Thank you so much for your kind words! I'm really glad you find my content helpful 🙏

  • @PotatoClips
    @PotatoClips Před 27 dny

    It's so funny I've spent the last week researching ways to structure my player, equipment, and vehicles which all have overlapping aspects but can't share a parent class. I thought about components, but was less familiar with how to implement them. I looked for a good tutorial and here it is! Posted exactly when I needed it.

    • @AliElZoheiry
      @AliElZoheiry  Před 27 dny

      Thank you for your comment! I'm glad to hear you found the tutorial exactly when you needed it 🙏 If you have any questions while implementing, feel free to ask!

  • @ox-mox
    @ox-mox Před 27 dny

    Amazing tutorial, perfect explanation, great usecases and you didnt waste any time with unrelated stuff.
    I dont think theres a better way of showcasing the use of components and the editing is just top level. I really appreciate the time you spend for bringing this gem of a video to us!
    Keep it up, your the best!

    • @AliElZoheiry
      @AliElZoheiry  Před 26 dny

      Thank you for your kind words! I'm really glad you found the tutorial helpful and appreciate the feedback on the editing, it definitely takes a looong time to get to this state. Your support means a lot 🙏

  • @GaryParkin
    @GaryParkin Před 27 dny +1

    Thank you so much for all your time Ali. I've been a software engineer for the last 40 years and now that I'm retired, I'd like to finally learn game design. Coming from a multi computer language background, I wanted to learn things correctly. I thought Components would be a nice topic but now I can relate to Event Dispatchers too.
    On the health bar, wouldn't your event dispatcher instead of die, maybe sens a health zero event? What if your character is some kind of machine or robot that runs out of fuel or charge? Or better yet, have 2 separate Components, one for Charge and one for Health? (I think I have this - ah-ha moments are the best)!

    • @AliElZoheiry
      @AliElZoheiry  Před 26 dny

      Hey! Thank you for your thoughtful comment. I'm glad to hear you're diving into game design! Your suggestions on using event dispatchers to dispatch a health zero event is definitely valid, but like I said in this part; this is just a very basic demo to showcase the design pattern, and is in no way meant to be a video on how to build a damage system :D

  • @hype._.
    @hype._. Před 28 dny

    You're so good at explaining.
    I'm not good at English, so it's hard for me to understand it if it's fast,
    but I think I'll understand it completely if I watch it a few more times. Thank you😎

    • @AliElZoheiry
      @AliElZoheiry  Před 27 dny +1

      Thank you for your kind words! I'm glad you're finding the content helpful. Take your time watching, and feel free to ask if you have any questions. Happy learning! 🙏

  • @jiwik731
    @jiwik731 Před 26 dny

    17:40 - this is exactly the part i was missing and made me avoid components in the past. :D Thanks.

    • @AliElZoheiry
      @AliElZoheiry  Před 26 dny

      I'm glad to hear that it was helpful! Thank you for watching and sharing your thoughts 🙏

  • @Kinos141
    @Kinos141 Před 27 dny +2

    Personally, I would make another actor component called "humanoid death" that gets data from the health component, and you can add animations to play on 0 hp.

    • @malicious0072
      @malicious0072 Před 27 dny

      Would it be advisable to do a Humanoid Death and one for creatures of 4 legs such as a wolf?

    • @AliElZoheiry
      @AliElZoheiry  Před 26 dny

      There are lots of ways to structure your game, it all depends on what you're trying to do. This is just a demo

  • @alanliang9538
    @alanliang9538 Před 18 dny

    im too late. already worked on my project for a year on inherited player and enemies and NPCs. love your series bro. not a lot of videos on UE design on YT........

    • @AliElZoheiry
      @AliElZoheiry  Před 16 dny

      Hey there, thanks for watching and commenting. Just to make sure there is no confusion, using inheritance to share functionality between a player and an enemy is completely fine. As long as you're sharing logic that won't be needed outside that parent class. But for sharing something like health or attacks, that are potentially going to be used in many other places that aren't necessarily inherited from a character class, then inheritance is a bad solutions

  • @anasabukaff4248
    @anasabukaff4248 Před 11 dny

    ما شاء الله جهودك جميلة اتمنى انك تشرح عن تصميم القائمة الرئيسية وكيفية عمل قائمة للمهارات وللحقيبة وشكراُ على هذا الشرح المفصل

    • @AliElZoheiry
      @AliElZoheiry  Před 9 dny +1

      مرحبًا! شكرًا لك على تعليقك اللطيف وسأضيف اقتراحك إلى قائمة الأفكار لمقاطع الفيديو القادمة 🙏

  • @memokal
    @memokal Před 27 dny

    Best! I was trying to create such a system for days on my own. Now i learned Real potential of components also how to use event dispatchers! Great video! Thanks!

    • @AliElZoheiry
      @AliElZoheiry  Před 26 dny +1

      You're very welcome! I'm glad you found it helpful and learned something new about components and event dispatchers. Thank you for watching and commenting 🙏

  • @BrutalMagik
    @BrutalMagik Před 28 dny +1

    Ali back at it again with another banger!

    • @AliElZoheiry
      @AliElZoheiry  Před 27 dny +1

      Thanks for the support! Glad you enjoyed it 🙏

  • @Azfaefa
    @Azfaefa Před 22 dny

    I clicked on the video without knowing it was yours, dude, tysm for your work !

    • @AliElZoheiry
      @AliElZoheiry  Před 21 dnem

      Hey! I'm glad you found it helpful! Thank you for watching and commenting 🙏

  • @YannSchmidt
    @YannSchmidt Před 16 dny

    Perfect ! Composition Pattern. Love it. Thanks for the video.

    • @AliElZoheiry
      @AliElZoheiry  Před 16 dny

      You're welcome! I'm glad you enjoyed it and found the composition pattern helpful. Thanks for watching and commenting 🙏

  • @HettyP
    @HettyP Před 24 dny

    Just getting into learning unreal engine! Just found your channel thanks for all these videos! Excited to learn all these new things :D

    • @AliElZoheiry
      @AliElZoheiry  Před 21 dnem

      Hey, welcome to the Unreal Engine community! I'm glad you found my channel. I hope you enjoy the videos and find them helpful as you learn. Thanks for stopping by! 😊

  • @NihnjahX
    @NihnjahX Před 26 dny

    This is amazing. Explained the concept of components very well.
    Correct me if im wrong, but it sounds like you can set all of your player attributes up with this method and make the different components communicate. (Ie. Attribute affects health, but the value varies between characters) You would just have to make your health component check if you have that particular stat component and modify the max health based on that value. Or ignore it completely if you don't have the component.
    If any of that made sense.

    • @AliElZoheiry
      @AliElZoheiry  Před 21 dnem

      Hey! Thank you for your thoughtful comment. You're absolutely right! By using components, you can manage player attributes efficiently and enable communication between them. Your explanation makes perfect sense 🙏 Keep up the awesome work!

  • @CooZaPech
    @CooZaPech Před 28 dny

    I'm one of those 'rarely ever comment' guys, but hell - this was super informative and clear. Keep it up Ali!

    • @AliElZoheiry
      @AliElZoheiry  Před 27 dny

      Hey! I really appreciate you taking the time to comment. I'm glad you found it informative 🙏 Thank you for your support!

  • @stcandrew
    @stcandrew Před 10 dny

    Apparently i subbed to you a long time ago.. im realizing why while watching this video. GG sir.

    • @AliElZoheiry
      @AliElZoheiry  Před 9 dny +1

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

  • @woodigel9700
    @woodigel9700 Před 27 dny

    you are a true treasure amidst the bog of unreal content on this platform

    • @AliElZoheiry
      @AliElZoheiry  Před 27 dny

      Thank you so much for your kind words! I'm really glad you find my content valuable 🙏

  • @GES1985
    @GES1985 Před 27 dny

    You've got a good cadence, and I seem to have an easy time staying focused because you're so articulate. Keep it up!

    • @AliElZoheiry
      @AliElZoheiry  Před 26 dny

      Thank you for the kind words! I'm glad to hear my style helps you stay focused. I appreciate your support 🙏

  • @WestinsWorldStudio
    @WestinsWorldStudio Před 27 dny

    This video is so good. Lots of Ah-Hah moments. Thank you for slowly breaking down concepts along the whole process.

    • @AliElZoheiry
      @AliElZoheiry  Před 27 dny +1

      You're very welcome! I'm glad you found it helpful and informative. Thank you for your kind words! 🙏

  • @blackjoker5362
    @blackjoker5362 Před 28 dny

    Very helpful video.
    I think you are one of the best tutorial guys for unreal
    With advanced knowledge and not just giving basic how to use

    • @AliElZoheiry
      @AliElZoheiry  Před 27 dny

      Thank you for your kind words! I'm glad you found the video helpful and that you appreciate the depth of the content 🙏

  • @RattleSnake2028
    @RattleSnake2028 Před 15 dny

    Such a master class. You are doing so great explaining concepts. You have a new subscriber !

    • @AliElZoheiry
      @AliElZoheiry  Před 13 dny

      Thank you so much! I appreciate your support and I'm glad you're finding the content helpful. Welcome to the channel! 🙏

  • @Mad_Games_Studios
    @Mad_Games_Studios Před 26 dny

    You can even get the event "any damage" in to the component, binding It on begin play of you want to avoid direct comunication and using Unreal Engine function

    • @AliElZoheiry
      @AliElZoheiry  Před 21 dnem

      To avoid hard references, I would recommend using interfaces, as I mentioned in my full tutorial on the damage system, but the built in damage function of unreal engine is very basic, and would not be useful for a real game. Even Epic games doesn't use it in their games

  • @roadtoenviromentartist
    @roadtoenviromentartist Před 10 dny +1

    I use interfaces always to interact with the information. In this damage example I would use. More enhancement.

    • @AliElZoheiry
      @AliElZoheiry  Před 9 dny

      Hey! That's a good approach, using interfaces can really help with managing interactions efficiently. Thanks for sharing your thoughts! 🙏

  • @gosti_fr6106
    @gosti_fr6106 Před 27 dny

    Great video! Very well explained, very well edited, with details accompanied by different situations and supporting images. Thank you very much! great work!
    If you are ever looking for themes that always interest beginners like me with Unreal:
    - How to use the Abstract blueprint (complementary to the Actor Component?)
    - How does the World Partition work
    - How to create a Replication Subsystem
    - How does audio work and what are the different audio blueprints
    - What is the use of a Travel map
    - How to import a character only modeled in Unreal and how to add a rig (with the face included), how to add the new animation samples of Unreal
    - How to create a day-night cycle and a weather system
    Thank you =D

    • @AliElZoheiry
      @AliElZoheiry  Před 27 dny +1

      Hey, thank you for your kind words and for the great suggestions! I appreciate the list, and I’ll definitely consider these topics for future videos. Glad you're enjoying the content! 🙏

  • @Aquilasdev
    @Aquilasdev Před 27 dny

    This is amazing, thank you for the useful graphs and the clear explanations of why and why not. So many other tutorials just drop into it and you can easily end up with a mess!

    • @AliElZoheiry
      @AliElZoheiry  Před 26 dny

      You're very welcome! I'm glad you found the explanations helpful. I definitely spend a huge amount of time making those graphics, so I'm happy to see that they have the intended effect 🙏

  • @shrew654
    @shrew654 Před 26 dny

    The visuals are sooo helpful! Great explanations!

    • @AliElZoheiry
      @AliElZoheiry  Před 26 dny

      Thank you so much for saying that! I definitely spend the bulk of the editing time on making these visuals, so I'm really happy to hear they are helpful 🙏 Thanks for watching and commenting

  • @MichaelCh66
    @MichaelCh66 Před 26 dny +1

    Best Channel Ever! Can you please do a video for Buff/Debuff? like burning, curse, stun debuff, boosting speed, boosting health, boosting attack power buff etc. PLEASE PLEASE PLEASE!!

    • @AliElZoheiry
      @AliElZoheiry  Před 21 dnem

      Hey! Thank you for the kind words and suggestion! I'll definitely consider making a video on buffs and debuffs in the future 🙏 If you have a specific game in mind that does this mechanic well, let me know

    • @MichaelCh66
      @MichaelCh66 Před 21 dnem

      @@AliElZoheiry Hi Ali, Thanks so much for your reply. I'm testing the Buff/Debuff in my game (I'm quite new, so I'm learning as I go), the system is like what we have in the World of Warcraft, that a mage is shooting fireball, then when projectile (fireball) hit the target, it will cause a burn debuff, and if Mage casts a frost ball, then it will cause a slow debuff etc. I can achieve the same effect in specific attack, but struggling to create a flexible system that I can apply buff/debuffs in any type of attack. I've watched your Damage System video many times, I just want to know if there's any way that I can create a buff/debuff system using Actor Component or (other features of the Blueprint) that can communicate with the Health/Damage System Actor Component. I heard about the GAS system, but can't seem to find an easy to follow tutorial, any recommendations? I wish all UE5 youtubers can explain things like you can, but so far your channel is the only place that I can really learn something, will follow your channel to death.

    • @MichaelCh66
      @MichaelCh66 Před 21 dnem

      be flexible, I mean fire ball attach a damage tick debuff, frost ball attach to target a slow debuff, and maybe a poison attack will attach both damage tick and slow debuff, and widget/damage indicator should show different vfx or text in different colors etc. right now, I have to write logic for different attack separately, it's very repetitive and easy to make mistakes. apologize that if this is a dumb question, I'm still very new to UE5 and programming. Thanks again!

  • @jakelewis3782
    @jakelewis3782 Před 27 dny

    Your videos are very well organized and explained, thank you! You're great 👍

    • @AliElZoheiry
      @AliElZoheiry  Před 26 dny

      You're very welcome! I really appreciate your kind words. Glad you find them helpful! 🙏

  • @mahkhardy8588
    @mahkhardy8588 Před 27 dny

    Love your vids bruh. Bind to event > OnDeath > Explode.

    • @pzthree
      @pzthree Před 27 dny

      Mahk you be everywhere. Cool channel.

    • @AliElZoheiry
      @AliElZoheiry  Před 27 dny

      Thanks! Glad you enjoy the videos! If you have any questions about that setup, feel free to ask 🙏

  • @Mirerro
    @Mirerro Před 27 dny

    Amazing content! Quality code! Clearly ecplained! Your doing an amazing job, keep up the fantastic work!

    • @AliElZoheiry
      @AliElZoheiry  Před 26 dny +1

      Thank you so much for your kind words! I'm really glad you found it helpful. I appreciate your support 🙏

  • @TheRopiak
    @TheRopiak Před 27 dny

    Great video! I was just getting into actor components as I start to build different ideas out and reuse a lot of the same mechanics. This is super helpful

    • @AliElZoheiry
      @AliElZoheiry  Před 26 dny

      You're very welcome! I'm glad to hear that you found it helpful. Best of luck with your projects! 😊

  • @Clydiie
    @Clydiie Před 28 dny +1

    the videos have gotten so good man ill learnt so much from you

    • @AliElZoheiry
      @AliElZoheiry  Před 27 dny

      Thank you! I really appreciate your kind words, and I'm glad to hear you're learning so much 🙏

  • @chrishansomeanimations3147

    ur good at making learning enjoyable

    • @AliElZoheiry
      @AliElZoheiry  Před 21 dnem

      Thank you! I'm really glad to hear that you find the learning process enjoyable 🙏

  • @LGames22
    @LGames22 Před 27 dny

    This is masterpiece, Thank you! Now I finally fully understand this can not wait to try this.

    • @AliElZoheiry
      @AliElZoheiry  Před 27 dny +1

      You're very welcome! I'm glad to hear that it helped you understand. Enjoy trying it out! 🙏

  • @blacksage81
    @blacksage81 Před 28 dny

    This came at a good time, I followed a tutorial series adding melee combat, and the presenter had all of the functionality on the player. Now my challenge is to figure out move much of that functionality to an Actor component. I moved light and heavy attacks, but due to my lack of knowledge I may be casting too often as I tried get owner a few times with not much success. I needed to cast to get certain functions from the player, I need to look into event dispatchers, I may be able to eliminate the cast. The ultimate goal is to add the third person controls to the player controller, because currently 9 playable characters are slated, and I know that I'll need things to be modular when I add more.

    • @AliElZoheiry
      @AliElZoheiry  Před 27 dny

      Hey! It sounds like you're making some great progress! Using Actor components is definitely a good approach for modularity. Event dispatchers can help you reduce casting and keep things clean. If you encounter specific issues or have questions, feel free to ask! Good luck with your project 🙏

  • @CRUMVIII
    @CRUMVIII Před 28 dny

    I was doing the second method of inheritance for a while now but I had a nagging suspicion it may still not be the best strategy. So this video's pretty helpful.

    • @AliElZoheiry
      @AliElZoheiry  Před 27 dny +1

      I'm glad to hear it was helpful! It's always good to explore different strategies in game development. Thanks for watching and sharing your thoughts 🙏

  • @Tiogar60
    @Tiogar60 Před 27 dny

    This is great. I have misused inheritance quite a bit, so it's nice to see a modular alternative

    • @AliElZoheiry
      @AliElZoheiry  Před 27 dny

      Glad to hear you found it helpful! Modular approaches can make a big difference. Thanks for watching and commenting! 🙏

  • @zeez7777
    @zeez7777 Před 3 dny

    Thanks again for another amazing video, you're awesome man

    • @AliElZoheiry
      @AliElZoheiry  Před 19 hodinami

      You're very welcome! I appreciate your kind words and thank you for watching and commenting 🙏

  • @albertbortoletto870
    @albertbortoletto870 Před 26 dny

    Amazing tutorial! Very clear instructions e useful information, thanks!

    • @AliElZoheiry
      @AliElZoheiry  Před 21 dnem

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

  • @ric8248
    @ric8248 Před 3 dny

    You are an excellent teacher. And so it's such a shame that you are using blueprints instead of c++, but l totally understand you, with c++ you will have to move from VS to UE back and forth all the time compiling a minute change and reopening the engine just to see them refresh.. alas!

    • @AliElZoheiry
      @AliElZoheiry  Před 19 hodinami +1

      Thank you for the kind words! I mainly use blueprints as they are better for explaining concepts visually, but I always recommend to people to use both blueprints and C++ in their actual projects, because you would be limiting yourself otherwise.
      You can of course make an entire game in blueprints, but it won't be as performant and you will have to do a lot of workarounds.
      You can also make a game purely in C++, but then you're iterations will be incredibly slow, and you lose out on all the tools epic games' is building for us in blueprints. So definitely a mix of both is the right way to go

  • @mustafagocken8057
    @mustafagocken8057 Před 22 dny

    a masterpiece! an incredibly informative video...

    • @AliElZoheiry
      @AliElZoheiry  Před 21 dnem

      Thank you! I'm glad you found it informative. I appreciate your support 🙏

  • @dddMaya
    @dddMaya Před 27 dny

    The material is so easy to understand that I would like to see a course on the league of legend universe from the author))

    • @AliElZoheiry
      @AliElZoheiry  Před 26 dny

      Thank you for your kind words! I'm glad you found the material easy to follow. A course on the League of Legends universe sounds like an interesting idea! I'll definitely keep that in mind for future content 🙏

  • @HG-tu2xn
    @HG-tu2xn Před 27 dny

    thank you for the amazing tutorials! make inventory tutorials next please ))

    • @AliElZoheiry
      @AliElZoheiry  Před 26 dny

      You're very welcome! I'm glad you're finding the tutorials helpful. I'll definitely consider doing inventory tutorials in the future! 🙏

  • @Piece_of_Sheet
    @Piece_of_Sheet Před 25 dny

    Awesome tutorial as always, thank you!

    • @AliElZoheiry
      @AliElZoheiry  Před 21 dnem

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

  • @nickanordavy6731
    @nickanordavy6731 Před 19 dny

    You are the best at this

    • @AliElZoheiry
      @AliElZoheiry  Před 16 dny

      Thank you! I really appreciate your kind words 🙏

  • @nikitazahharov6806
    @nikitazahharov6806 Před 9 dny

    Great a video! That's i was looking for.

  • @ElementalNovice
    @ElementalNovice Před 27 dny

    good video. Now I wanna see cube's function "fall to floor"

    • @AliElZoheiry
      @AliElZoheiry  Před 26 dny +1

      Thank you for your comment! The "fall to floor" is just a simple timeline that lerps the Z location from it's current value to that value minus 50 😅

  • @karaemn
    @karaemn Před 27 dny

    Crystal clear 🎉🎉 thank you Ali

    • @AliElZoheiry
      @AliElZoheiry  Před 27 dny

      You're very welcome! I'm glad it was clear for you 🙏

  • @Edio47
    @Edio47 Před 20 dny

    Man you have to make a course. I will buy it day one.

    • @AliElZoheiry
      @AliElZoheiry  Před 20 dny

      Thank you for your support! I'm glad you find my content valuable 🙏 It’s something I’ve considered, so I appreciate the encouragement! What kind of course would you like to see?

    • @Edio47
      @Edio47 Před 20 dny +1

      @@AliElZoheiry a course that teaches concepts is a good idea since most of the courses are focusing on making small simple games. I mean you can have project files for the students to download and you teach us how to build over it. Every lesson focuses in one thing and it has its own files. And project files can be completely different from each other. Your design patterns are a good example.
      In the end of the course we don't need to have a full game but a reference for some topics about game dev.
      Lets say one video for struts and arrays.
      Other one for communication.
      Third one for online setup.... etc.
      .
      Also FPS course is something I will buy since I am interested in the genre.

    • @AliElZoheiry
      @AliElZoheiry  Před 16 dny

      Thanks for sharing @aloooonee

  • @Sedated3
    @Sedated3 Před 28 dny

    Thanks for making these - very informative

    • @AliElZoheiry
      @AliElZoheiry  Před 27 dny

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

  • @Atl3m
    @Atl3m Před 27 dny

    Perfect Video like always

  • @adeldola904
    @adeldola904 Před 21 dnem

    FINE INFORMATION FROM FRIST SEC

    • @AliElZoheiry
      @AliElZoheiry  Před 21 dnem +1

      Thank you! I'm glad you found the information useful 🙏

  • @ricscola
    @ricscola Před 28 dny

    Amazing and thorough tutorial!

    • @AliElZoheiry
      @AliElZoheiry  Před 27 dny

      You're very welcome! I'm glad you found it thorough and helpful 🙏

  • @passportmarc
    @passportmarc Před 21 dnem

    Wow ! Learned a ton ! ❤

    • @AliElZoheiry
      @AliElZoheiry  Před 21 dnem +1

      You're very welcome! I'm glad to hear that you learned a lot. Thank you for watching and commenting! ❤️

  • @Magleren
    @Magleren Před 27 dny

    Nice video! I have implented my health bar slightly different. Instead of the widget BP binding to the “damage taken” the health component sets the percent value by using the widget ref when the health is updated. I think i might like your approach better

    • @AliElZoheiry
      @AliElZoheiry  Před 27 dny +1

      Thank you for sharing your approach! It's always interesting to see different implementations. I'm glad you found the video helpful 🙏

  • @TheFinalGamer92
    @TheFinalGamer92 Před 26 dny

    Amazing work ❤

    • @AliElZoheiry
      @AliElZoheiry  Před 26 dny

      Thank you so much! I appreciate your kind words 🙏

  • @RetroPlusGames
    @RetroPlusGames Před 28 dny

    Wonderful video, Ali!!

    • @AliElZoheiry
      @AliElZoheiry  Před 27 dny

      Thank you John! Always appreciate your support 🙏😊

  • @matthewmburrill8374
    @matthewmburrill8374 Před 25 dny

    This is very helpful thank you

    • @AliElZoheiry
      @AliElZoheiry  Před 21 dnem

      You're very welcome! I'm glad you found it helpful 🙏

  • @clay9137
    @clay9137 Před 15 dny

    Thank you for the help

    • @AliElZoheiry
      @AliElZoheiry  Před 13 dny

      You're very welcome! Glad I could help 🙏

  • @MaxyBlack
    @MaxyBlack Před 20 dny +1

    I have a question, what if i also want to have ArmorComponent so, both ArmorComponent and HealthComponent, in that example I don't think Attack component would work, should in that case exist DamageComponent which checks which components exist on the actor and apply first damage to armor and to health later? Or maybe in that case there should also be an interface so we can identify actors that can take damage?

    • @AliElZoheiry
      @AliElZoheiry  Před 20 dny

      My personal approach is having an interface for damagable actors, and these actors use the actor component to implement the interface functions. That's the approach I took in my video on how to create a damage system, check it out if you're interested

  • @buenitodia1061
    @buenitodia1061 Před 16 dny

    Superb video

  • @0UTSIDER
    @0UTSIDER Před 19 dny +1

    Is there any limit to the number of attached components and would it be a good idea to make each attack/spell a separate component instead of storing all of them inside one?
    Also, what are your thoughts on GAS? I'm still torn between using my own components/tags and relying fully on GAS which seems to be becoming an industry standard.
    Thanks for amazing video!

    • @AliElZoheiry
      @AliElZoheiry  Před 16 dny +1

      Hey, great questions! There isn't a strict limit to the number of attached components, but it's generally a good practice to keep things organized. Meaning things that are related to eachother should be in the same component, so having a single component for each spell won't be a great idea because they will have a lot in common that they'd want to share, so better to keep them close
      Regarding GAS, it definitely has its benefits and can provide a robust framework for managing complex systems. If you find it suits your needs, it might be worth exploring further. Thanks for watching and sharing your thoughts! 🙏

  • @bestpetzone
    @bestpetzone Před 16 dny

    That was awesome

    • @AliElZoheiry
      @AliElZoheiry  Před 16 dny

      Glad you enjoyed it! Thank you for watching and commenting 🙏

  • @FPChris
    @FPChris Před 21 dnem

    Excellent

  • @torabe8172
    @torabe8172 Před 2 dny

    great video, can you make something about multiplayer, how to make it efficient (with good patterns)?

    • @AliElZoheiry
      @AliElZoheiry  Před 19 hodinami

      Thank you for your comment! I'm glad you enjoyed the video. I'll definitely consider making a tutorial on multiplayer efficiency and patterns in the future 🙏

  • @AbdellahChouaf-q6o
    @AbdellahChouaf-q6o Před 6 dny

    The best chanel

  • @Ziboo30
    @Ziboo30 Před 15 dny

    Any plan for GAS ? it is very complex, learning curve is steep, but it looks super cool. I'm confident that with your skills, anyone would be able to understand and use GAS :)

    • @AliElZoheiry
      @AliElZoheiry  Před 13 dny

      Hey! Thanks for your comment and suggestion. GAS does have a steep learning curve, I am personally using it in my projects, and discovering new things every day, so once I have a good grasp on it, I'll definitely make tutorials

  • @KillerSneak
    @KillerSneak Před 12 dny

    So how would one spawn/add a component from within an other component? (Something that is easily done with spawning normal actors) > also event dispatchers aren’t mandatory or a go to > you can still use everything as you normally do (custom events etc).
    Besides that what’s the real difference-benefit apart from “modularity” (something that you can also do with actors without problems) between using actors (spawning and attaching an actor to an actor) compared to actor components? What’s the overhead difference? And how does this benefit when dealing with replication?
    To be more clear, let’s say you spawn a normal hud (main widget) that should be in your Controller > you want it to interact with your health (should be on your character) > you spawn a component in your controller for the hud, but you decide you want that component to spawn your health component and want to attach/add it to your character from there (as far as I know it can’t be done, while with normal actors it wouldn’t be a problem). So you end up with all these components you need to add manually to each actor you want to use them on…….

    • @AliElZoheiry
      @AliElZoheiry  Před 9 dny +1

      Hey! Great questions. Spawn components from within other components is a bit different than spawning actors, but you can still do it using the "Add Component" node in blueprints. As for the differences, actor components are generally more lightweight and can lead to better organization of your code into reusable modules. They're designed for specific behaviors and can be replicated more easily, which is beneficial in many scenarios. However, if you're finding you're just attaching components to actors without needing their specific benefits, sticking with actors might be simpler for your case. Hope this helps clarify a bit! 🙏

  • @camelotvfx
    @camelotvfx Před 20 dny

    Amazing video! I am confused on one thing though. How useful is it to have the player and enemies share an Attacks Component? In your example, the player and enemy were both using the same attacks, but that would almost never happen in a game.

    • @AliElZoheiry
      @AliElZoheiry  Před 20 dny

      Hey! Thank you for your comment. Sharing an Attacks Component can be useful for maintaining consistent attack logic across different characters, the animations can be very different, but the logic is the same, for example a sword swing is the same whether an enemy or player is doing it

  • @pizzaman11
    @pizzaman11 Před 23 dny

    Great tutorial though I am curious that you chose to use Event Dispatchers over interfaces. ED's seem like they are better fit if you have multiple components/actors that need to trigger off an event. But given that your ED's have only one to one triggers wouldnt it be a bit less heavy and less reliant on hard references to use a IFHealthActor and IFHealthWidget interface instead?

    • @AliElZoheiry
      @AliElZoheiry  Před 21 dnem

      Hey, thanks for your comment! To clarify, Event Dispatchers and Interfaces aren't the same thing, and don't achieve the same result.
      Most importantly, calling interface functions is a simple "synchronous" call, while event dispatchers offer a way to react "asynchronously" to an event occurring.
      So they are fundementaly very different and serve different uses, and they can and should be used together. Checkout my full video on creating a damage system where I use both interfaces and event dispatchers together

  • @Derknomicon
    @Derknomicon Před 22 dny

    Great tutorial, I have a few questions:
    Is this example better implemented in single player projects or multiplayer?
    What if we have multiple different characters to choose from in a multiplayer game, do these components work across all characters if they have different health or damage types / values?
    Will multiple widgets need to be made for each character?

    • @AliElZoheiry
      @AliElZoheiry  Před 21 dnem

      Hey! Thanks for your questions. This pattern is general way to structure your code, it makes no assumption on single player or multiplayer. As long as replication is handled correctly.

  •  Před 28 dny

    you are amazing man I love to watching your videos but ı beg you can you make c++ videos ?

    • @AliElZoheiry
      @AliElZoheiry  Před 27 dny +1

      Thank you for your kind words! I appreciate your support 🙏 I’ll consider adding C++ videos in the future. Stay tuned!