That's very kind of you to say JScott, I really appreciate you, and I'm very happy to hear that you're finding this useful. I'll definitely keep it up 🙏
He is. This guy does it different. He shows you the real workflow and the most scalable way to do them which literally nobody does because we're "learning" and that's just stupid. New devs should be able to learn the best ways to implement mechanics just like how new statistics majors learn the newest most accurate ways to calc certain statistics. That's the problem many "educators" have.
@@juaecheverria0 Thank you! I really appreciate that you see the value in what I'm trying to do, I'll definitely keep it up. I myself learned all of this from various sources. The proper programming techniques came from my 10+ years of experience as a software engineer, and the game dev knowledge I learned from a mix of online courses, books, conferences, meetups, tutorials, etc.. The best to learn is by doing
This is a far better tutorial and you have allowed this to easily be edited for our own purposes. This is far more educational then many of the videos on yt, since your teaching us instead of telling a single way that only work with very few projects. Thank you so much.
Thank you so much for the support. It really means a lot to me when people see what I try to do to set myself apart on YT, and I appreciate you for that 🙏
Exactly :). This is how it's done! So many folks out there teaching specific things, in a sort of "follow me, and what I do". With the tutorials here by Ali, I feel like I'm learning what all of this stuff actually does. Such as BPCs, BPIs, Event Dispatchers, etc. You can learn by creating a bunch of different projects, and figure it out over time. But, this way of learning is much more efficient and effective.
Ali, I've been using Unreal and surfing through tutorials for around 2 years now. This is no joke, your videos are the most clear, concise and well organized tutorials that I have found. They are engaging and they really help me understand what I'm actually doing as opposed to most tutorials that make me feel like I'm just copying someone's work without really expanding my knowledge. Really grateful for these, buddy.
Wow, Thank you for that comment! I really appreciate you saying that. This is indeed my area of focus, to teach overarching concepts and not simply showing how to do something by copying my solution. Since I do focus on education, my videos tend to be longer than others, so I'm very happy to hear you see the value in that 🙏
Man this tutorial is Gold. I literally learned how to implement and use: - Interface - Struct - Enumeration - ActorComponent - Macros - Functions - EventDispatcher - Construction Script And more! This is beyond a Combat Damage System! Thanks for this :)
Thank you so much for your kind words! I'm thrilled to hear that you found the tutorial so valuable and that it expanded your knowledge in diverse areas across Unreal Engine. Keep up the great work!
The best part about this? It teaches very good habits and actually shows you how the game systems should look like! Where is it possible to support you bro? I'm buying you a beer or pepsi if you prefer! :D
Thank you @@Daniel-sn5se I really appreciate your kind words. If you wish to become a supporter you can do that through Patreon (www.patreon.com/Alizoh) but please don't feel obliged to do so. Only if you want to :)
Thank you so much for your kind words! I'm very happy to hear that you find my tutorials helpful and engaging. Keep up the great work, and feel free to reach out if you have any questions or need further assistance!
I picked up this tutorial when it was mentioned in the Smart Enemy AI series, and it truly blew my mind how much better this was than my formal education in getting me to visualize structs, enums and events. Thank you!!
I virtually NEVER leave comments on videos but I really have to tell you what a great series this is. After building a player movement system on my fledgling project, I was at a standstill about how to begin making combat work - whether to work from scratch or buy an asset. This is such a great breakdown of how to start making a combat system and is so modular and in line with good practices that it has been really easy to just start along with you in my first person game and change little things to suit my needs when appropriate. Thanks again for your time, really!
Thank you so much for taking the time to leave this comment! I'm happy to hear that the series has been helpful for your project. It's great to know that the modular approach aligns with what you needed. Good luck with your project, and if you have any more questions, feel free to ask!
The number of views and likes don't do this video justice. Thank you for creating this perfect tutorial ❤Not only did it help create a damage system, but now I also feel like I understand how to better structure other functionalities and make my blueprints cleaner :D Your explanations are very clear and logical
I saw many many tutorials for UE5, and your videos are top of the list! Easy to follow, perfectly adaptable, customizable, and you always point out the important parts. You earn lots of more followers. Great job, Ali!!
YO! I'm so glad I've found your video series; wish I had found it sooner...I'm shocked that you're using Structs and Data Tables as well as Components & Blueprint Interfaces for a Health/Damage System while making the entire concept SO easy to understand and follow along with. I can't believe in under just one hour, I now have a working damage system. Scalable and Flexible is an understatement to describe the value this brings. We only created like 8 files in this project...and didn't Cast to Player even ONCE!!!!!
I love this comment ❤️ thank you so much for your support, I'm really glad you like it and I'm very happy to have you as part of the community. I expanded on this system a bit in the AI series. You can see how I applied the damage system in this tutorial ua-cam.com/video/htFAeywLuNQ/v-deo.html You can see how I made some edits to it in this one ua-cam.com/video/5mdATB4uYko/v-deo.html
Thank you so much for your kind words! I'm thrilled to hear that you found the damage system helpful. I really appreciate your support and encouragement. I'll definitely keep the content coming, so stay tuned for more!
Adding a New comment relevant to 5.4.4+ : For the widget class variable "DamageableActor", MAKE SURE to check the "expose on spawn" box (located in the details panel for the variables, in W_HealthBar). Doing so makes the variable visible as an input pin under the CreateWidget Node in BP_Enemy. Spent 15 minutes finding this after the refresh node didnt show the pin, Hope this helps others 👍
This is fantastic. Most other UE5 tutorials are “How to implement health in 5 minutes!” and are just thrown together, completely unsalable. This is not only a robust solution but you’ve explained everything so well. Thanks!
Thank you so much for your kind words! I'm really glad you found the tutorial helpful and the explanation clear. Your feedback means a lot, and I appreciate you taking the time to share your thoughts.
Really really good tutorial. I've been through probably 20hrs of various tutorials and they've all been great, I've learned a TON, but its hard to tell what's best/professional practice and what's surface level learning. I think this was the first one that really started digging into the more advanced methods of how to set things up and go into some detail about why doing it this way is more advantageous. Thanks for all the effort you and all these other people put in to teaching this stuff for free. Will definitely be checking out your enemy AI vids!
Thank you 🙏 I really try to do more than just simply show how to build something, but really tech people the core concepts so that they can expand on it and be able to learn outside the scope of the video, so I'm happy you found it useful 💪
Anyone here who wants to understand the "why" and the underlying mechanics of every node in the unreal blueprints system should check out coqui games tutorial series. It's 20 videos. Going through that entire series means every other programming tutorial make sense immediately. Between his videos and Ali here, I've quickly begin to feel adept and creating my own systems from scratch. I've only been learning Unreal for about a month!
Thanks for the great content as always! I jumped over here from the Smart AI series Part 7. This one is short and to the point. It's one of the best explanations of Blue Print Components, and Event Dispatchers. Great info on the Blueprint Interfaces, Structures, Enumerators, and more as well. Keep up the great work!
This was absolutely perfect. Thank you. I came from the AI course playlist, and was really happy to find out I could get this set up in just a little over an hour. You’re a great teacher, thank you for explaining why you do certain things rather than just telling us to do them without the context. ❤
I am currently learning UE from scratch and like most of the other comments, i find your tutorials the best i found so far! And what i have seen in the comment sections of your videos, you respond on questions, even after months and not just picking compliments. That is a very big thing in my opinion, especially when you have done more and more videos, cause most others throw their content out and dont respond in any way on comments when people get stuck. Thanks so much for teaching with this quality.
Thank you for this comment 🙏 I do indeed put a lot of effort in these videos, and I do my best to help everyone and answer any question, so I'm very happy that you recognize my efforts in doing so. I appreciate you
Thanks so much Davide, I have a background in teaching software but I'm relatively new to game development so I'm also learning in the process. Really happy to see that you found it useful 🙏
Yes, with my current understansing of unreal blueprint, i can see you are doing things by focusing on reusability and efficiency. That concept alone is very much complicated for beginners to understand and to achieve. So far so good keep up the great work man. i hope you are going to develop something great one day. Annulla Rispondi
Super nice guide!! Is is possible to apply all those tutorials to the TopDown Pack? I mean, I see on the video you apply those BP to BP_Player (BP_ThirdPer....) but on TopDown example it is separated the movement to the BP_TopDownController. Thx in advance
Hey, thanks for your positive feedback! Yes, you can definitely apply the concepts from the tutorials to the TopDown Pack. You would need to integrate the functionality into the BP_TopDownController instead of the BP_Player, but the core principles should still be applicable. Good luck!
@@AliElZoheiry Thx for the answer!! I have another doubt. All this BP of DamageSystem, why arent in the PlayerController instead of the BP_Player? Im new to UE, but I we need the same system works on the AI or other kind of players. I may understood something wrong :D Thx in advance Ali
@VictorAlbalat Most important reason to have it on the player and not the player controller is because a player controller can possess different characters, and you don't want these characters to take the health of the controller, but instead maintain their own health system, so it's better to have it on the pawn class and not the controller. Also if you have a die and respawn mechanic, you can just destroy the pawn and Create a new one, then all values will reset, but if it was on the player controller, you have to reset them manually @@VictorAlbalat
Hello. Thank you for your work. From all the tutorials I've watched on youtube, you're the first one who comes with real modularity and logic. Not another tutorial that is "modular" only if you do exactly the type of game the teacher want you to do ! It's the first time I feel like I'm really progressing and understanding what I did, for real man thank you.
Thank you for your comment! I'm really glad to hear that you find my tutorials helpful and that they have provided you with a sense of progress and understanding. Your feedback means a lot to me!
51:51 If you are not able to refresh this node and magically see the new variable go back to the widget blueprint and have DamagableActor Interface be exposed on spawn. Do this from the details pannel. only clicking the eye did not work for me!
Indeed, "Expose on spawn" means that this variable will be editable when spawning the class another class/blueprint, so it is very much needed for this case
You’ve already been praised numerous times for this amazing tutorial (as you should), but I’ll still do it one more time because last comment was a while ago, and I’m sure you can use a dopamine hit today :)
youre an absolute legend. i started with unreal a week ago and i havent been able to find a video tutorial that makes any sense bc they dont explain what the individual boxes in the blueprint side of UE5 do. now that i kinda understand the UI of UE5 itself, watching this video where you are using game terms like stun, parry, invincibility frames, and relating it to the software features is what ive been looking for. most people just say "okay so do this, that and the other, and you get this" instead of saying like "okay, were puttin this block here, it does this, you can do stuff with this block thats kinda like that one feature in that one game." which is what youre doing and i love it man!
Thank you so much for your kind words! I'm thrilled to hear that you found the tutorial helpful and that it resonated with your learning style. I appreciate your feedback, and I'm glad that the approach I take in explaining the concepts is making a difference for you. Keep enjoying your learning journey with Unreal Engine!
Man... I've been on a project for over 3 years, with the damage system completely consolidated. I watched this video twice and convinced myself to change everything from scratch for this one, as it is much better and more flexible, you are one of the best Unreal teachers I have ever seen in my life, God bless you :D
Thank you so much for your kind words! I'm thrilled to hear that the video has inspired a new direction for your project. Your support means a lot to me, and I truly appreciate your feedback. Good luck with the changes, and feel free to reach out if you have any questions along the way. Keep up the great work! 🙏
@@AliElZoheiry Ali, you are the greatest :D You can be sure that as soon as I finish implementing all this in my project I will send you the beta so you can see how it is going and give your opinion \o
This tutorial is phenomenal. I am blown away by how knowledgeable you are on properly structuring and implementing this system. Too many tutorials take the easiest route that handicaps any future mechanics that you might want to add later.
Thank you so much for your kind words! I'm glad you found the tutorial valuable. I aim to provide a solid foundation that allows for future expansion. I appreciate your feedback! 🙏
I have watched 100s of videos like yours. Hands down you are the best at explaining as you go. You give the who what when where why where applicable. Also just how you implement systems and utilize them makes it perfect for people who maybe don't want what you want but need a system in place. You have definitely earned my support. Thank you for everything you do!
Thank you so much for the kind words! I truly appreciate your support and I'm thrilled to hear that you find my explanations helpful. It means a lot to me to know that my content is making a positive impact. Thank you for watching and for your support!
Another awesome tutorial! I used a different health/damage system before, but replaced it completely with this system. This one is so much more eleborate and gives such amazing options and oppertunities to play with. Absolutely amazing, thank you kindly sir!
Amazing presentation. I love how this skeleton of code will live on in many many, very distinct projects. I've never seen an hour of code before that I thought "Yeah, I'll absolutely use, and extend this...happily" Thanks for the experience.
Thank you so much for your kind words! I'm really happy that you found the content valuable and usable across different projects. Your feedback means a lot to me. 🌟
Thank you so much for your kind words! I'm thrilled to hear that you found the tutorial helpful. I hope you enjoy the rest of my content and find it just as useful! 😊
Bout halfway through this video and I'm now subscribed. One thing I have a lot of trouble with is WHY things work for us. Of course, this stuff is pretty rudimentary and relatively easy to explain/figure out why it works, but I've been learning for a good few years now. The way you present what we are doing, why, and how it works is really well done. I look forward to more complex functionality being explained, because it seems you naturally present it in a way that the info can be understood and retained. Thank you very much!
I really appreciate the comment and the support. Very happy to see that you found this useful. If you're looking for more complex functionality, you can checkout my Smart Enemy AI series on my channel, where I actually use this damage system and create a bunch of different enemy types with different behavior using the AI tools from unreal engine
Honest feedback from a semi-beginner coming your way. I always first check if a guide's for Replicated (multiplayer) because I've learned the hard way that following hour(s) long guides just to be left at "not multiplayer" "not replicated, figure it on your own" kinda sucks, so a very very (VERY) small critique for not making that clear on the start since not just me, but a lot of people are making projects that are not intended to be a single player projects. But on the other side, I've followed along the entire tutorial and I can proudly say (as someone who went through so many of them haha) this is definitely the best tutorial out there. Straight to the points, super simple, explaining things for all types of people (ones new or experts to unreal), very dedicated, nicely edited...I am definitely subscribing and looking for more of your guides, you sir, are a blessing!
Hey, thank you for your honest feedback and for pointing that out. I'll definitely ensure to clarify the multiplayer aspect in future tutorials. I'm thrilled to hear that you found the tutorial helpful and thank you so much for subscribing! I'm really grateful for your support 🙏
Had a small hiccup, but I realized my error. I really like this tutorial. I appreciate how you explain why for a lot of the decision instead of just being like ""this is how we're gonna do it." One issue that I have with other tutorials is that they don't make a lot of the blueprints compatible for multiple things. They just mention that it can be done.
Thank you Gabriel, that's indeed the niche I'm going for. Explaining things in a detailed manner to make it scalable and reusable for multiple cases. I'm glad you appreciate that value of that 🙏
I completely agree with JScott. I’ve started to develop my own game and never done anything like this before. Been looking for stuff on the web and UA-cam to help me understand the workflow of blueprints. By far you explain every step and make it very understandable. Thank you for this content. I’m sure I’ll end up watching all your videos to help learn how unreal works. Keep up the work man. Excellent job
Thank you so much for the kind words Noah, I really appreciate you, and it keeps me motivated to hear that I'm helping people. Glad you enjoyed this tutorial and I hope you enjoy the rest ☺️🙏
My man! New dev here, after buying an ez trap set with no dev support, following multiple tutorials, making a few other reusable health systems, buying a reusable health system from UE marketplace.... I mean i had rigged up something but now after this tutorial I set up the RHS, set up a sphere trace on my trap, asked chatgpt what i did wrong and 🎉🎉🎉. I'll most likely join your Patreon soon. Thank you very much.
Hey! I'm really glad to hear that the tutorial helped you out! 🎉 Awesome job getting everything set up. Thank you for your support, and I'd be happy to have you on Patreon! 🙏
Outstanding teaching technique. Clear, concise and demonstrated practices with explanations that are easy to understand. Thankyou for your truly excellent service to the dev community.
This is one of the most illuminating lectures I've ever watched on UA-cam regardless of topic. Being able to explain not only the topic and a means to achieve it but also teach concepts on workflow efficiency put you on another level as an educator. The platform would be lesser if you stopped making videos.
Thank you very much for your kind words Patrick, I'm very happy that you noticed the effort I put into making the content educational and not just a tutorial you can follow along, but something you can actually learn from
I hardly ever comment but you deserve the boost. Absolutely brilliant and concise! As an autistic you're approach to explaining and showing is over the top! Well above all the others and I thank you for that. This system is SO scalable and needed. Good job!
Thank you for taking the time to share your feedback with me! I'm really glad to hear that you find my approach helpful and that the content is making an impact. Your comment means a lot to me!
I don't understand a lot of how the system works but it beats the lame attempt that I had. Great job explaining and going slow. a lot of youtubers fly through what they do. Step by step is by awesome.
@@AliElZoheiry Hi Ali, how would you implement some of these functions from the Interface? I'm new to UE5 and have been trying to implement these for damaging enemies. Are these executed from the custom events we assigned to the event dispatchers?
@@AliElZoheiry sorry let me clarify. If I wanted to add some things to one of the functions, say like blocking animations and parry system for when the player blocks, I would do so in the custom event we created called “OnBlocked” in the event graph where we put the print string correct? Btw I realize your time is limited given I’m one of many viewers so I very much appreciate the fact that you replied
Hey@@Josh_Alfaro Ok, I understand now what you mean. Well in my "Smart enemy AI tutorial series" I actually use this damage system heavily and implement blocking, parrying, invincibility, etc.. so if you're curious on how that works. Look at the videos in that series where I implement that. Specifically these ones (Part 7: Where I integrate the damage system basics) ua-cam.com/video/htFAeywLuNQ/v-deo.html (Part 8: Where I add a block to the enemy) ua-cam.com/video/84upuVN6s1Y/v-deo.html (Part 12: I've made some improvements to the block functionality) ua-cam.com/video/UIAazOgww_I/v-deo.html at 0:53 (Part 19: Where I added parrying and blocking to the player) ua-cam.com/video/MBp1Td63n4s/v-deo.html (Also 20, 21 & 22 are the boss fight, where I used invincibility and other things from the damage system)
Probably one of the best unreal tutorials I've ever seen. Been looking for clean coding resources and haven't found something as clear and compact as this. Thank you so much, please keep this great work 😄😄 btw, don't forget to fix up redirectors when moving things from folder to folder :p
Hey! Thank you for the kind words, I really appreciate it! I'm glad you found the tutorial helpful 😄 I'll definitely keep that in mind, thanks for the reminder!
I have to add a comment on each your videos. They are perfects. Because you know how to teach. I dig into internet for tutorials and no other tutorial are like yours. Each time I see Ali Elzoheiry I go and follow you steps. Very high quality content. The fact that your job is to code something good and durable is really appreciated. Your system is perfectly understandable for someone like me that do not know anything about coding and UE 5. Hats off. Don't apologies for the lenght of the video. It was an one hour very useful for us. Thanks.
Thank you so much for your incredibly kind and supportive words! I'm truly grateful to hear that you find my tutorials helpful and accessible. Your encouragement means a lot to me🙏
Thank you so much for your encouraging words! I'm really glad to hear that you found the tutorial helpful. I'll definitely keep putting out more content.
I used this to implement a damage system for a 2D top-down setup. It works brilliantly! Thank you! The biggest change I made was instead of using the Get Actor Forward Vector node for the inflicting damage function, I used a Directionality function that I made from another tutorial. This only works for the player character at the moment since my unpossessed character isn't working quite right yet. However, it's a positive step and I'm happy with the results so far.
I'm so glad to hear that the damage system is working brilliantly for your 2D top-down setup! And it's great to hear about the positive progress with the Directionality function. Keep up the good work!
thank you for this wonderful course this is no doubt the best damage system i saw online really flexible and helpful and i love how everything is alone makes it tidy keep up the great work
Thank you for your kind words! I'm delighted to hear that you found the damage system course helpful. Your feedback and support are much appreciated! 🙏
Absolutely love your tuts and your channel. I discovered your channel 2 days ago, and have begun poking through everything. Love the quality of your walkthroughs. You provide the stepping stones to unlocking the universe. Thank you much!
Thank you so much for your kind words and support! I'm really happy to hear that you're finding the tutorials helpful. If you have any specific requests or questions as you explore the content, feel free to reach out. Happy learning!
Hello, as many said vary good tutorial, you learn a lot of stuff and the interaction in the comments makes the channel 5/5 for me, congratulations! i created a health regen system but i can't manage to implement it in the Damage System, if anyone wants to play and struggle with it is welcome, it goes like this: in BP_Player after we deal with the Damage Response Event ->set boolean canRegen=False ->with get timer handler variable HPRegenDelay -clear and invalidate timer by handle ->set timer by event -SetHPRegen -Time=5sec ->set timer handler variable HPRegenDelay. With this 5 seconds after we get hit first we clear a 5 sec timer and then we set it, that way every time we get hit we refresh the 5sec timer SetHPRegen Event the 5sec timer is completed and SetHPRegen triggers ->set timer by event -Regen -Time=1sec, Looping=True -> set timer handler variable HPRegenInterval ->set boolean canRegen=True. With this event we create a looping timer that triggers Regen every 1sec, we pass it to a timer handle and allow regenaration, we have the second timer handler here to end the 1sec looping later, else it is going to check every 1sec if we can regen, since it is likely for a lot of actors to have regen it is beter to close these timer for every one of them i guess Regen Event gets triggered every second if SetHPRegen triggers once -> if CurrentHP==MaxHP=True ->(with get timer handler variable HPRegenInterval-clear and invalidate timer by handle), =False ->(if boolean CanRegen=True ->(with desirable RegenRate Call Heal) =False ->(with get timer handler variable HPRegenInterval-clear and invalidate timer by handle)). With this we check if we can regen using the existing Heal function from our DamageSystem , if yes we regen, if no or we are at MaxHP we stop triggering the Regen Event HPRegenInterval Timer. Now i try to take this and place it in the DamageSystem, take as a function in the definiton of a new HPRegen fuction of our Damagable interface but i cannot manage the events properly in the function and if i place the events in the event graph it doesn't work
Hey! Thank you for the detailed explanation and your kind words! It sounds like you’ve put a lot of thought into your regen system. For integrating it into the Damage System, you might want to double-check how the events are triggered within the function to ensure they connect properly with your existing logic. Sometimes, reorganizing the sequence or adding some debug statements can help narrow down the issue. Best of luck with it! If you still have trouble, feel free to share specific questions 😊
As someone getting a bachelors in game programming (4th year) with 3.5 years of indepth unity experience transitioning into unreal this video is a great start to understanding programming components, even if your completely new to making games 👍
Awesome Video. I spent alot of time doing some other "easy damage system" tutorials but they all locked the interaction to the char and ability / attack so it wasn't at all usable for long term. This Basic frame work was a really good exercise and learning tool! Thank you for your time.
Hey there. Don't worry about it. The fact that you spent 5 hours trying it a great achievement and shows how dedicated you are. It doesn't matter how much time you spend learning as long as you stick with it. Keep up the good work!
Thank you for this damage system, you open a lot of doors for who, like me, are still learning "how unreal works"... Hope you will have more visibility
Amazing tutorial ! I'm struggling to find tutorials like this where you explain the whole integration and not just a quick prototype not reusable (often just made in the character blueprint). Plus you go straight to the point and are a good speaker ! I've not finished the video yet but maybe when there is a lot of nested elements like this do a quick drawing of a logic tree ? But as free content it's already amazing Thanks !
Thank you! I indeed try to teach more than just show how something is done. So hopefully after finishing my tutorials, you have the knowledge to expand on it yourself and then you're able to create more complex systems, instead of just being able to create exactly what I showed you. I like the idea of the doing a logic tree or some diagram to explain complex topics, I'll definitely consider it in future videos
Men i came across this video at 1am and as a software engineer this is like a movie lol! best video on UE that i've ever seen, new subscriber about to watch your whole library! keep up the good work!
Hey there! Thank you so much for your kind words! I'm really happy to hear that you found the video so engaging, and I appreciate your support as a new subscriber. I hope you find value in the rest of the content on the channel as well. Happy watching!
Heya Ali. I don't usually leave comments on videos but I gotta say, I was feeling really confused about alot of things related to unreal and I lost motivation until I found your videos and the way you explain everything in such an orderly manner, it just brought back the fire I had when I started. You're a legend, keep it up
Hey! Thank you so much for your comment. I'm really happy to hear that my videos helped bring back your motivation. Your support means a lot to me! Keep creating, and if you ever have any questions, feel free to ask. 🙏
Thank you so much for your time and effort making these tutorials. I am learning how to code bps by following along and I'm learning the terminology i need to search more ideas that I want to implement. I will totally end up going through all of these videos.
You're very welcome! I'm thrilled to hear that you're finding the tutorials helpful and that you're committed to going through the entire series. Keep up the great work!
This is one of the best tutorials I have ever seen, Thank you Ali for making this and I learned a lot and I honestly can't believe how detailed it was. Thank you and please keep making content you are an excellent teacher.
@@AliElZoheiry I loved it and I will watch your other videos too, also please setup a patreon account if u haven't done that already. It's a great way for us viewers to show our gratitude
Brilliant. Like others have said, I have learned more here than in all the Udemy tutorials I have tried. You have explained things in a way that allows me to follow along as well as consider my own implementations. Well done!
Thank you so much for your feedback! I'm thrilled to hear that you find my tutorials helpful and that they have brought a new perspective to your learning. Your words genuinely mean a lot to me.
Thank you so much for your kind words and your support! I'm thrilled to hear that you're finding the content helpful and valuable. If you have any questions or suggestions for future videos, feel free to let me know!
Bind is based on tick... which is not performant for updating hp. Everything else in this video was perfection. I agree with you and I hate all the shallow videos out there. Everyone needs to go deeper and really understand the "why" behind things. I can't wait to go through the rest of your videos.
Hey, thanks for your thoughtful comment! I completely agree-understanding the "why" is crucial for effective game development. I'm glad you enjoyed the video, and I appreciate your support 🙏. Happy learning!
I know how to program windows applications for work purpose I play a lot of games and understand mechanics You just showed me how to apply logic to basically achive everything and on top of that you made me realize what structures are and how to use them Damn good tutorial
A really great Tutorial. I was implementing my ParentActor with all variables like Health, AttackSpeed, MoveSpeed, PawnType etc. from a struct and its base functionality. Create ChildActors from it and give its default values. Now I am thinking on the way to merge it with your implementation. Yours looking so much cleaner. I appreciate you sharing your skills with us! Thanks!
Thank you for your kind words! It's great to hear that you found the tutorial helpful. It sounds like you've come up with an efficient system for your ParentActor. I'm glad my implementation has inspired some new ideas for you. Keep up the great work!
Thank you for your kind words! I'm really glad to hear that you find my content helpful. If there's anything specific you'd like to see in future tutorials, feel free to let me know!
Ali, thank you for your work!! Using your tutorials to make my demo game for state championship, you are really great and what is really cool is that your system is easily compatible with my code. Happy Ramadan 🎉
You're very welcome! I'm glad to hear that my tutorials are helping you with your demo game for the state championship. Good luck with the competition, and happy Ramadan as well! 🌙
Absolutely fantastic tutorial. As I mentioned on your recent video, I'm beginninfg my binge now. Funnily enough, the first tutorial I followed had me building cast functions everywhere and direct references within each actor and component. It was so unbelievably unrealiable, buggy and difficult to transfer application. The video itself had errors with it, was hard to follow at points, and frankly taught me a poor way of implementation. While this is technically "more advanced" since you are using dispatches and structures, I can really appreciate the much more fluid interactivity and scaling. I had precisely ZERO problems following, and no problems with implementation. The ONE problem I had was due to the legacy system I was using breaking some aspects of my movement animations due to all the direct cast references when I made a new Player instead of using the Thirdpersoncharacter. At this point I'm just going to scrap the old system and rebuild using this style of dispatches. Still sad about my handbuilt stamina system based on the old method though, it workes really well and I'm going to have to rebuild it. 5 days into UE5 and it's looking good. Onto your next video. If possible, can you release future videos with a 1440p option?
Thank you for your kind words, that really motivates me! Always happy to see that my videos help people. Regarding the video quality, my video editing software now only supports either 1080p or 4k, and 4k takes a really long time to render and make edits on, it will slow down my production time significantly. Is 1080p really limiting?
@@AliElZoheiry its not a big issue, more of a preference thing. I have 2 1440p monitors while im working and watching the guides. Its just a bit jarring going from one monitor where everything is crisp to the other one where the resolution is lower. Now and then i have to lean in a little to make out some text. But if its a time issue dont worry about it. These are by far the best tutorials for UE5 and a better resolution would simply be a bit more icing on the cake.
Thank You for this great tutorial, i just have a little tip for other guys our there - after dying actors leave their capsule components in the air and they are keep blocking your movement, so dont forget to turn off collisions on them (i guess it would be nice to completely delete them, but i didnt found a way to do it)
If anyone is wondering what this looks like. I put in a delay node (2 sec) Then get I a referance to Capsule Component and pull off that and Set Collision Enabled, New Type, Physics Only. Also Do this for the Mesh. (Opitional if you want to remove "dead actors" ) I then put in another delay (how long you want to dead actor to be in the game) and then call Destroy Actor (leave target as self)
Hi, Ali. You are a fantastic instructor. This is the 3rd video of yours that I've watched. You gained a new Subscriber. What I love about your teaching style: 1) You speak clearly. 2) You give detailed information, but you also leave room for us to figure some things out on our own. 3) You do not play music while teaching. I will not Subscribe to channels that do that. 4) I appreciate your friendly and professional tone. I used to work for Epic when DOS games were a big thing. I am now working on a new 3D game and eventually a VR game. Thank you so much. Allen Pilgrim, Game Designer/Programmer of "Kiloblaster" and "Xargon." Game Design for "Super ZZTs: Monster Zoo."
Thank you so much for the support Allen, it means a lot to me that you would say that. I am very passionate about teaching and especially teaching game development, so I'm really happy to see that the effort is seen 🙏
Seems inefficient ... but does a great job of showing the various states that an entity may have. Beginners will learn much from this. Those with a programming background will immediately see where optimizations can be had and will code accordingly
Thank you for your feedback! I'm glad to hear that beginners can find value in the tutorial. It's good to mention though that I tested the performance of this and it was quite performant, even with hundreds of characters on the screen at the same time. So speaking from my programming background, the optimizations to be made here won't get it to perform any better, they will be what we call "micro-optimizations"
Hey there! Thank you so much for the incredibly kind words. I'm thrilled to hear that you found the tutorial so helpful and that you loved it! Your support means a lot to me. Keep creating amazing things!
Just recently started learning this stuff and ur vids are a great help. Blueprint logic still makes my head spin, but atleast I have something to work with now, thanks!
Glad to hear that my videos are helping you out! Blueprint logic can definitely be overwhelming at first, but with practice, it will start to click. Keep at it and don't hesitate to ask if you need help.
Very good tutorial. For me as beginner it could be very hard and confusing. Luckily I had previously some tutorial about basics of UE5, so then it was much easier to watch this. Fact that you created very practical and universal damage system for every object that we can imagine is very nice :) Great respect bro for your work :)
I think it should be noted that at 54:00 the amount of health regained while healing is set on the heal function in the player blueprint. I kinda missed it when he did this, so it was just a small mishap that tripped me up for longer than I'm proud of haha. hopefully this saves a few people some confusion.
Thanks a lot Nudo, I indeed realize that I just changed it from 0 to 10 while talking but I didn't stop to explain that I was doing so (I kinda went auto pilot there 😅)
You are a great Ali is great, I hope to continue learning with you I am also a programmer and new to unreal engine and I liked how you have implemented the interface of the damage system is a great start.
Thank you so much for your kind words and support! I'm thrilled that you found the damage system interface helpful. I look forward to sharing more learning opportunities with you in the future. Keep up the great work!
Great Tutorial brother. Learned a lot of stuff from all of your tutorials. You are best. Love you brother. Just one request bro when you are pulling out something from the components or other side panels, please frame it within the viewable area so that we don't have to assume on what you have pulled out from the side panel. Thank you, brother, for the wonderful Tutorial.
Hey! Thank you for your kind words and feedback 🙏 I'm really glad to hear you're finding the tutorials helpful! This was one of my earlier videos, I have since then improved my recording and video editing skills, so hopefully this won't happen anymore ;)
Hi Ali :) After watching all of your tutorial videos in a couple of days, I've now started following along. And I must say, it was a very smooth ride ;D I made two little mistakes, but with your well-placed timestamps and some active brain cells, I managed to find them pretty fast. Your process is very clear, and I really like how you always make a little summary at the end of a section. It gives time to recap and think about what we just did, as well as cleaning up, commenting, or even finding mistakes ;D Next stop: projectiles! Or should I continue with smart AI? Hmmm... I think I will first build all the systems and then summon them ;D Thanks for your time and effort! One can really see that you're indeed an experienced teacher and that you put a lot of effort into structuring your videos properly. It never feels "too long" since it's super interesting from start to end. And every step you make and every test you do feels great, especially when you become able to fix an issue/bug without rewatching the whole video ;D Then you feel the progress even more :) Cheers!
Hey there! I'm thrilled to hear that you found the tutorials smooth and helpful! It's great to know that the timestamps and summaries are aiding in your learning process. I use the projectile system and the damage system in the AI series, so you might want to do those first, but whichever you choose, I'm sure you'll enjoy it. Thank you for your kind words and positive feedback; it means a lot to me! Stay tuned for more exciting content ahead! Cheers!
Dude you might actually be one of the best teachers for unreal engine on UA-cam, please don’t stop you’re a goldmine of knowledge
That's very kind of you to say JScott, I really appreciate you, and I'm very happy to hear that you're finding this useful. I'll definitely keep it up 🙏
Might be?
He is. This guy does it different. He shows you the real workflow and the most scalable way to do them which literally nobody does because we're "learning" and that's just stupid. New devs should be able to learn the best ways to implement mechanics just like how new statistics majors learn the newest most accurate ways to calc certain statistics. That's the problem many "educators" have.
@@AliElZoheiryI'm telling you man if you keep this up you're gonna be flowing with new subscribers. But where do you learn all this stuff??
@@juaecheverria0 Thank you! I really appreciate that you see the value in what I'm trying to do, I'll definitely keep it up.
I myself learned all of this from various sources. The proper programming techniques came from my 10+ years of experience as a software engineer, and the game dev knowledge I learned from a mix of online courses, books, conferences, meetups, tutorials, etc.. The best to learn is by doing
This is a far better tutorial and you have allowed this to easily be edited for our own purposes. This is far more educational then many of the videos on yt, since your teaching us instead of telling a single way that only work with very few projects. Thank you so much.
Thank you so much for the support. It really means a lot to me when people see what I try to do to set myself apart on YT, and I appreciate you for that 🙏
Exactly :). This is how it's done! So many folks out there teaching specific things, in a sort of "follow me, and what I do". With the tutorials here by Ali, I feel like I'm learning what all of this stuff actually does. Such as BPCs, BPIs, Event Dispatchers, etc. You can learn by creating a bunch of different projects, and figure it out over time. But, this way of learning is much more efficient and effective.
i actually learned how to use functions and macros because of you
This man is out here teaching Game Dev Theory while teaching how to use UE, it's unreal. Solid info, Thanks for the lesson!
Hey, thank you so much for your kind words! I'm really glad you found the lesson helpful. I appreciate your support! 🙏
Ali, I've been using Unreal and surfing through tutorials for around 2 years now. This is no joke, your videos are the most clear, concise and well organized tutorials that I have found. They are engaging and they really help me understand what I'm actually doing as opposed to most tutorials that make me feel like I'm just copying someone's work without really expanding my knowledge. Really grateful for these, buddy.
Wow, Thank you for that comment! I really appreciate you saying that. This is indeed my area of focus, to teach overarching concepts and not simply showing how to do something by copying my solution.
Since I do focus on education, my videos tend to be longer than others, so I'm very happy to hear you see the value in that 🙏
Man this tutorial is Gold.
I literally learned how to implement and use:
- Interface
- Struct
- Enumeration
- ActorComponent
- Macros
- Functions
- EventDispatcher
- Construction Script
And more!
This is beyond a Combat Damage System!
Thanks for this :)
Thank you so much for your kind words! I'm thrilled to hear that you found the tutorial so valuable and that it expanded your knowledge in diverse areas across Unreal Engine. Keep up the great work!
The best part about this? It teaches very good habits and actually shows you how the game systems should look like! Where is it possible to support you bro? I'm buying you a beer or pepsi if you prefer! :D
Thank you @@Daniel-sn5se I really appreciate your kind words. If you wish to become a supporter you can do that through Patreon (www.patreon.com/Alizoh) but please don't feel obliged to do so. Only if you want to :)
Learning Unreal for 1 year and undoubtedly the best Teacher. You make learning more interesting and meaningful.
Thank you so much for your kind words! I'm very happy to hear that you find my tutorials helpful and engaging. Keep up the great work, and feel free to reach out if you have any questions or need further assistance!
I picked up this tutorial when it was mentioned in the Smart Enemy AI series, and it truly blew my mind how much better this was than my formal education in getting me to visualize structs, enums and events. Thank you!!
Thank you so much for the support 🙏 it truly means a lot to me. I'm glad you found this useful, I appreciate you 🙏☺️
So good to see tutorials that actually use things like blueprint interfaces and components, this has been so helpful, thank you so much!
You're very welcome! I'm glad to hear you found it helpful 🙏 Thank you for watching and commenting!
I virtually NEVER leave comments on videos but I really have to tell you what a great series this is. After building a player movement system on my fledgling project, I was at a standstill about how to begin making combat work - whether to work from scratch or buy an asset. This is such a great breakdown of how to start making a combat system and is so modular and in line with good practices that it has been really easy to just start along with you in my first person game and change little things to suit my needs when appropriate. Thanks again for your time, really!
Thank you so much for taking the time to leave this comment! I'm happy to hear that the series has been helpful for your project. It's great to know that the modular approach aligns with what you needed. Good luck with your project, and if you have any more questions, feel free to ask!
Just followed this tutorial. All I can say is that you're an amazing teacher and you earned a sub!
Thank you Dissuxx for the support 🙏 I'm really happy you found it useful
The number of views and likes don't do this video justice. Thank you for creating this perfect tutorial ❤Not only did it help create a damage system, but now I also feel like I understand how to better structure other functionalities and make my blueprints cleaner :D Your explanations are very clear and logical
Thank you so much for the support 🙏 one like from someone like you is worth a lot more than hundreds of likes. I really appreciate it 😊
By far, the best tutorial and scalable for the future, not just to make the Combat Damage System, learned a lot to do more.
Thank you so much for your comment, I'm really glad you found this useful 🙏
I saw many many tutorials for UE5, and your videos are top of the list! Easy to follow, perfectly adaptable, customizable, and you always point out the important parts. You earn lots of more followers. Great job, Ali!!
Thank you so much for the kind words, really glad you liked it and found it useful ❤️
This is one of the best Tutorials I've seen on making a damage system. I love how easy it scales
Thank you so much for your kind words! I'm glad you found it useful and easy to scale. Appreciate your support 🙏
YO! I'm so glad I've found your video series; wish I had found it sooner...I'm shocked that you're using Structs and Data Tables as well as Components & Blueprint Interfaces for a Health/Damage System while making the entire concept SO easy to understand and follow along with. I can't believe in under just one hour, I now have a working damage system. Scalable and Flexible is an understatement to describe the value this brings. We only created like 8 files in this project...and didn't Cast to Player even ONCE!!!!!
I love this comment ❤️ thank you so much for your support, I'm really glad you like it and I'm very happy to have you as part of the community.
I expanded on this system a bit in the AI series.
You can see how I applied the damage system in this tutorial ua-cam.com/video/htFAeywLuNQ/v-deo.html
You can see how I made some edits to it in this one ua-cam.com/video/5mdATB4uYko/v-deo.html
This is the best damage system i have found so far. Thank you. You're a great teacher too. Please keep up the good work.
Thank you so much for your kind words! I'm thrilled to hear that you found the damage system helpful. I really appreciate your support and encouragement. I'll definitely keep the content coming, so stay tuned for more!
Adding a New comment relevant to 5.4.4+ :
For the widget class variable "DamageableActor", MAKE SURE to check the "expose on spawn" box (located in the details panel for the variables, in W_HealthBar).
Doing so makes the variable visible as an input pin under the CreateWidget Node in BP_Enemy.
Spent 15 minutes finding this after the refresh node didnt show the pin, Hope this helps others 👍
Thank you for sharing this tip! It’s definitely useful for others who might be facing the same issue. I appreciate your contribution 🙏
Ahhh thank you, this was what I was looking for :D
Thank you. You saved me who knows how much time :)
This is fantastic. Most other UE5 tutorials are “How to implement health in 5 minutes!” and are just thrown together, completely unsalable. This is not only a robust solution but you’ve explained everything so well. Thanks!
Thank you so much for your kind words! I'm really glad you found the tutorial helpful and the explanation clear. Your feedback means a lot, and I appreciate you taking the time to share your thoughts.
Really really good tutorial. I've been through probably 20hrs of various tutorials and they've all been great, I've learned a TON, but its hard to tell what's best/professional practice and what's surface level learning. I think this was the first one that really started digging into the more advanced methods of how to set things up and go into some detail about why doing it this way is more advantageous. Thanks for all the effort you and all these other people put in to teaching this stuff for free. Will definitely be checking out your enemy AI vids!
Thank you 🙏 I really try to do more than just simply show how to build something, but really tech people the core concepts so that they can expand on it and be able to learn outside the scope of the video, so I'm happy you found it useful 💪
Anyone here who wants to understand the "why" and the underlying mechanics of every node in the unreal blueprints system should check out coqui games tutorial series. It's 20 videos.
Going through that entire series means every other programming tutorial make sense immediately.
Between his videos and Ali here, I've quickly begin to feel adept and creating my own systems from scratch. I've only been learning Unreal for about a month!
Thanks for the great content as always! I jumped over here from the Smart AI series Part 7. This one is short and to the point. It's one of the best explanations of Blue Print Components, and Event Dispatchers. Great info on the Blueprint Interfaces, Structures, Enumerators, and more as well. Keep up the great work!
You're very welcome, I'm happy you found it useful, and thank you for your support and kind words, it really motivates me 🙏
@@AliElZoheiry - Of course! I really appreciate the content. It's been tremendously helpful :).
Take care, and have a great weekend ✌
This was absolutely perfect. Thank you. I came from the AI course playlist, and was really happy to find out I could get this set up in just a little over an hour. You’re a great teacher, thank you for explaining why you do certain things rather than just telling us to do them without the context. ❤
You're very welcome! I'm glad to hear you found it useful and enjoyed the explanation. Thank you for your kind words, they mean a lot! 🙏
Amazing work, one of the best tutorials for unreal on the internet.
Thank you for your kind words 🙏
I am currently learning UE from scratch and like most of the other comments, i find your tutorials the best i found so far!
And what i have seen in the comment sections of your videos, you respond on questions, even after months and not just picking compliments. That is a very big thing in my opinion, especially when you have done more and more videos, cause most others throw their content out and dont respond in any way on comments when people get stuck.
Thanks so much for teaching with this quality.
Thank you for this comment 🙏 I do indeed put a lot of effort in these videos, and I do my best to help everyone and answer any question, so I'm very happy that you recognize my efforts in doing so. I appreciate you
You are really professional in the way you build things, you deserve more subs! Good Job.
Thanks so much Davide, I have a background in teaching software but I'm relatively new to game development so I'm also learning in the process. Really happy to see that you found it useful 🙏
Yes, with my current understansing of unreal blueprint, i can see you are doing things by focusing on reusability and efficiency. That concept alone is very much complicated for beginners to understand and to achieve. So far so good keep up the great work man. i hope you are going to develop something great one day.
Annulla
Rispondi
I'd been stuck on damage system for my game for ages and this helped so much. Thank you!
You're very welcome. Happy to hear it was helpful 🙏
Super nice guide!!
Is is possible to apply all those tutorials to the TopDown Pack? I mean, I see on the video you apply those BP to BP_Player (BP_ThirdPer....) but on TopDown example it is separated the movement to the BP_TopDownController.
Thx in advance
Hey, thanks for your positive feedback! Yes, you can definitely apply the concepts from the tutorials to the TopDown Pack. You would need to integrate the functionality into the BP_TopDownController instead of the BP_Player, but the core principles should still be applicable. Good luck!
@@AliElZoheiry Thx for the answer!!
I have another doubt. All this BP of DamageSystem, why arent in the PlayerController instead of the BP_Player? Im new to UE, but I we need the same system works on the AI or other kind of players. I may understood something wrong :D
Thx in advance Ali
@VictorAlbalat Most important reason to have it on the player and not the player controller is because a player controller can possess different characters, and you don't want these characters to take the health of the controller, but instead maintain their own health system, so it's better to have it on the pawn class and not the controller. Also if you have a die and respawn mechanic, you can just destroy the pawn and Create a new one, then all values will reset, but if it was on the player controller, you have to reset them manually @@VictorAlbalat
Hello. Thank you for your work. From all the tutorials I've watched on youtube, you're the first one who comes with real modularity and logic. Not another tutorial that is "modular" only if you do exactly the type of game the teacher want you to do ! It's the first time I feel like I'm really progressing and understanding what I did, for real man thank you.
Thank you for your comment! I'm really glad to hear that you find my tutorials helpful and that they have provided you with a sense of progress and understanding. Your feedback means a lot to me!
51:51
If you are not able to refresh this node and magically see the new variable go back to the widget blueprint and have DamagableActor Interface be exposed on spawn. Do this from the details pannel.
only clicking the eye did not work for me!
Indeed, "Expose on spawn" means that this variable will be editable when spawning the class another class/blueprint, so it is very much needed for this case
Hero!
Thank you so much, I spent forever on this issue
Do your part, anw questions when you can@@tonypauley6720
Thank you bro, this bug was mad annoying!
you have felt loss? this is the most complicated emotion imo. bless you, hopefully you feel none damage my friend.
Thank you for your kind words. I appreciate your thoughts 🙏
You’ve already been praised numerous times for this amazing tutorial (as you should), but I’ll still do it one more time because last comment was a while ago, and I’m sure you can use a dopamine hit today :)
Thank you so much for the praise 😁🙏 I woke up to this comment, so it was definitely a good time for a dopamine hit 😊
youre an absolute legend. i started with unreal a week ago and i havent been able to find a video tutorial that makes any sense bc they dont explain what the individual boxes in the blueprint side of UE5 do. now that i kinda understand the UI of UE5 itself, watching this video where you are using game terms like stun, parry, invincibility frames, and relating it to the software features is what ive been looking for. most people just say "okay so do this, that and the other, and you get this" instead of saying like "okay, were puttin this block here, it does this, you can do stuff with this block thats kinda like that one feature in that one game." which is what youre doing and i love it man!
Thank you so much for your kind words! I'm thrilled to hear that you found the tutorial helpful and that it resonated with your learning style. I appreciate your feedback, and I'm glad that the approach I take in explaining the concepts is making a difference for you. Keep enjoying your learning journey with Unreal Engine!
Hello, I ve been learning Unreal about 1.5 months, watched a lot of videos and be honest - this one is the best, GREAT JOB!
Thank you!
Thank you for the kind words Proxima 🙏 I'm really glad you found it useful, hope you enjoy the rest
Man... I've been on a project for over 3 years, with the damage system completely consolidated.
I watched this video twice and convinced myself to change everything from scratch for this one, as it is much better and more flexible, you are one of the best Unreal teachers I have ever seen in my life, God bless you :D
Looking at this myself, however, I do not see how he is searching for the specific interface.
Thank you so much for your kind words! I'm thrilled to hear that the video has inspired a new direction for your project. Your support means a lot to me, and I truly appreciate your feedback. Good luck with the changes, and feel free to reach out if you have any questions along the way. Keep up the great work! 🙏
@@AliElZoheiry Ali, you are the greatest :D
You can be sure that as soon as I finish implementing all this in my project I will send you the beta so you can see how it is going and give your opinion \o
This tutorial is phenomenal. I am blown away by how knowledgeable you are on properly structuring and implementing this system. Too many tutorials take the easiest route that handicaps any future mechanics that you might want to add later.
Thank you so much for your kind words! I'm glad you found the tutorial valuable. I aim to provide a solid foundation that allows for future expansion. I appreciate your feedback! 🙏
I have watched 100s of videos like yours. Hands down you are the best at explaining as you go. You give the who what when where why where applicable. Also just how you implement systems and utilize them makes it perfect for people who maybe don't want what you want but need a system in place. You have definitely earned my support. Thank you for everything you do!
Thank you so much for the kind words! I truly appreciate your support and I'm thrilled to hear that you find my explanations helpful. It means a lot to me to know that my content is making a positive impact. Thank you for watching and for your support!
Another awesome tutorial! I used a different health/damage system before, but replaced it completely with this system. This one is so much more eleborate and gives such amazing options and oppertunities to play with. Absolutely amazing, thank you kindly sir!
Amazing presentation.
I love how this skeleton of code will live on in many many, very distinct projects.
I've never seen an hour of code before that I thought "Yeah, I'll absolutely use, and extend this...happily"
Thanks for the experience.
Thank you so much for your kind words! I'm really happy that you found the content valuable and usable across different projects. Your feedback means a lot to me. 🌟
This is one of the best tutorials I've ever seen for UE, going to watch all your other tutorials now
Thank you so much for your kind words! I'm thrilled to hear that you found the tutorial helpful. I hope you enjoy the rest of my content and find it just as useful! 😊
The way you teach is so clear and structured, your guides are gold, thank you sir.
Thank you very much, I'm happy you're enjoying the content 🙏
Bout halfway through this video and I'm now subscribed. One thing I have a lot of trouble with is WHY things work for us. Of course, this stuff is pretty rudimentary and relatively easy to explain/figure out why it works, but I've been learning for a good few years now. The way you present what we are doing, why, and how it works is really well done. I look forward to more complex functionality being explained, because it seems you naturally present it in a way that the info can be understood and retained. Thank you very much!
I really appreciate the comment and the support. Very happy to see that you found this useful.
If you're looking for more complex functionality, you can checkout my Smart Enemy AI series on my channel, where I actually use this damage system and create a bunch of different enemy types with different behavior using the AI tools from unreal engine
Best tutorial channel for UE5 I've sound so far. Just full on lecture for 57min step by step. Thank you.
Thank you so much for your kind words! I'm happy to hear that you found the tutorial helpful and appreciate your support!
Honest feedback from a semi-beginner coming your way.
I always first check if a guide's for Replicated (multiplayer) because I've learned the hard way that following hour(s) long guides just to be left at "not multiplayer" "not replicated, figure it on your own" kinda sucks, so a very very (VERY) small critique for not making that clear on the start since not just me, but a lot of people are making projects that are not intended to be a single player projects. But on the other side, I've followed along the entire tutorial and I can proudly say (as someone who went through so many of them haha) this is definitely the best tutorial out there. Straight to the points, super simple, explaining things for all types of people (ones new or experts to unreal), very dedicated, nicely edited...I am definitely subscribing and looking for more of your guides, you sir, are a blessing!
Hey, thank you for your honest feedback and for pointing that out. I'll definitely ensure to clarify the multiplayer aspect in future tutorials. I'm thrilled to hear that you found the tutorial helpful and thank you so much for subscribing! I'm really grateful for your support 🙏
Had a small hiccup, but I realized my error. I really like this tutorial. I appreciate how you explain why for a lot of the decision instead of just being like ""this is how we're gonna do it."
One issue that I have with other tutorials is that they don't make a lot of the blueprints compatible for multiple things. They just mention that it can be done.
Thank you Gabriel, that's indeed the niche I'm going for. Explaining things in a detailed manner to make it scalable and reusable for multiple cases. I'm glad you appreciate that value of that 🙏
I completely agree with JScott. I’ve started to develop my own game and never done anything like this before. Been looking for stuff on the web and UA-cam to help me understand the workflow of blueprints. By far you explain every step and make it very understandable. Thank you for this content. I’m sure I’ll end up watching all your videos to help learn how unreal works. Keep up the work man. Excellent job
Thank you so much for the kind words Noah, I really appreciate you, and it keeps me motivated to hear that I'm helping people. Glad you enjoyed this tutorial and I hope you enjoy the rest ☺️🙏
Hobby coder totally new to Unreal, this is really helping me grasp how it operates. Thanks for putting it out here.
Hey! Really glad to hear you found this useful ☺️🙏 and you're welcome
My man! New dev here, after buying an ez trap set with no dev support, following multiple tutorials, making a few other reusable health systems, buying a reusable health system from UE marketplace.... I mean i had rigged up something but now after this tutorial I set up the RHS, set up a sphere trace on my trap, asked chatgpt what i did wrong and 🎉🎉🎉. I'll most likely join your Patreon soon. Thank you very much.
Hey! I'm really glad to hear that the tutorial helped you out! 🎉 Awesome job getting everything set up. Thank you for your support, and I'd be happy to have you on Patreon! 🙏
Man I have followed a lot of videos for UE5. And I have learned more from you in this 56 min than all the rest combined.
Wow thank you for saying that, I really appreciate this comment, and I'm very happy to have been useful 😁🙏
Outstanding teaching technique. Clear, concise and demonstrated practices with explanations that are easy to understand. Thankyou for your truly excellent service to the dev community.
Thank you so much for your kind words! I'm really glad to hear that you found the content clear and helpful. Your support means a lot to me 🙏
I know this is a little out of nowhere, but I think I love you. Thank you for helping my art brain get this all straight!
I'm really glad to hear that you found the content helpful! and thank you for your kind words! I really appreciate you
This is one of the most illuminating lectures I've ever watched on UA-cam regardless of topic. Being able to explain not only the topic and a means to achieve it but also teach concepts on workflow efficiency put you on another level as an educator. The platform would be lesser if you stopped making videos.
Thank you very much for your kind words Patrick, I'm very happy that you noticed the effort I put into making the content educational and not just a tutorial you can follow along, but something you can actually learn from
I hardly ever comment but you deserve the boost. Absolutely brilliant and concise! As an autistic you're approach to explaining and showing is over the top! Well above all the others and I thank you for that. This system is SO scalable and needed. Good job!
Thank you for taking the time to share your feedback with me! I'm really glad to hear that you find my approach helpful and that the content is making an impact. Your comment means a lot to me!
I don't understand a lot of how the system works but it beats the lame attempt that I had. Great job explaining and going slow. a lot of youtubers fly through what they do. Step by step is by awesome.
Thank you for your kind words! I'm glad to hear that the step-by-step approach works for you. I aim to make concepts as clear as possible 🙏
This is a game changer, someone who actually explains what they’re doing and why they’re doing it. You’re amazing dude. Please keep it up
Thank you so much for your kind words! I'm really glad to hear that you find my explanations helpful. I'll do my best to keep it up!
@@AliElZoheiry Hi Ali, how would you implement some of these functions from the Interface? I'm new to UE5 and have been trying to implement these for damaging enemies. Are these executed from the custom events we assigned to the event dispatchers?
@@Josh_Alfaro not sure what you mean by implementing the interface functions? I implemented them all in the tutorial
@@AliElZoheiry sorry let me clarify. If I wanted to add some things to one of the functions, say like blocking animations and parry system for when the player blocks, I would do so in the custom event we created called “OnBlocked” in the event graph where we put the print string correct? Btw I realize your time is limited given I’m one of many viewers so I very much appreciate the fact that you replied
Hey@@Josh_Alfaro Ok, I understand now what you mean. Well in my "Smart enemy AI tutorial series" I actually use this damage system heavily and implement blocking, parrying, invincibility, etc.. so if you're curious on how that works. Look at the videos in that series where I implement that. Specifically these ones
(Part 7: Where I integrate the damage system basics) ua-cam.com/video/htFAeywLuNQ/v-deo.html
(Part 8: Where I add a block to the enemy) ua-cam.com/video/84upuVN6s1Y/v-deo.html
(Part 12: I've made some improvements to the block functionality) ua-cam.com/video/UIAazOgww_I/v-deo.html at 0:53
(Part 19: Where I added parrying and blocking to the player) ua-cam.com/video/MBp1Td63n4s/v-deo.html
(Also 20, 21 & 22 are the boss fight, where I used invincibility and other things from the damage system)
Probably one of the best unreal tutorials I've ever seen. Been looking for clean coding resources and haven't found something as clear and compact as this. Thank you so much, please keep this great work 😄😄
btw, don't forget to fix up redirectors when moving things from folder to folder :p
Hey! Thank you for the kind words, I really appreciate it! I'm glad you found the tutorial helpful 😄 I'll definitely keep that in mind, thanks for the reminder!
I have to add a comment on each your videos.
They are perfects. Because you know how to teach. I dig into internet for tutorials and no other tutorial are like yours. Each time I see Ali Elzoheiry I go and follow you steps.
Very high quality content.
The fact that your job is to code something good and durable is really appreciated. Your system is perfectly understandable for someone like me that do not know anything about coding and UE 5.
Hats off.
Don't apologies for the lenght of the video. It was an one hour very useful for us. Thanks.
Thank you so much for your incredibly kind and supportive words! I'm truly grateful to hear that you find my tutorials helpful and accessible. Your encouragement means a lot to me🙏
Incredible, you are a real talent and a great teacher, thanks for all the hard work you put in- a real asset to the unreal community!
Thank you so much for your kind words! I really appreciate it, and I'm glad to hear my work is helpful to the community 🙏
I can't believe someone new to unreal make one of best tutorials in youtube! keep up the good work man!
Thank you so much for your encouraging words! I'm really glad to hear that you found the tutorial helpful. I'll definitely keep putting out more content.
I used this to implement a damage system for a 2D top-down setup. It works brilliantly! Thank you!
The biggest change I made was instead of using the Get Actor Forward Vector node for the inflicting damage function, I used a Directionality function that I made from another tutorial. This only works for the player character at the moment since my unpossessed character isn't working quite right yet. However, it's a positive step and I'm happy with the results so far.
I'm so glad to hear that the damage system is working brilliantly for your 2D top-down setup! And it's great to hear about the positive progress with the Directionality function. Keep up the good work!
thank you for this wonderful course this is no doubt the best damage system i saw online really flexible and helpful and i love how everything is alone makes it tidy keep up the great work
Thank you for your kind words! I'm delighted to hear that you found the damage system course helpful. Your feedback and support are much appreciated! 🙏
Absolutely love your tuts and your channel. I discovered your channel 2 days ago, and have begun poking through everything. Love the quality of your walkthroughs. You provide the stepping stones to unlocking the universe.
Thank you much!
Thank you so much for your kind words and support! I'm really happy to hear that you're finding the tutorials helpful. If you have any specific requests or questions as you explore the content, feel free to reach out. Happy learning!
Hello, as many said vary good tutorial, you learn a lot of stuff and the interaction in the comments makes the channel 5/5 for me, congratulations!
i created a health regen system but i can't manage to implement it in the Damage System, if anyone wants to play and struggle with it is welcome, it goes like this:
in BP_Player
after we deal with the Damage Response Event ->set boolean canRegen=False ->with get timer handler variable HPRegenDelay -clear and invalidate timer by handle ->set timer by event -SetHPRegen -Time=5sec ->set timer handler variable HPRegenDelay. With this 5 seconds after we get hit first we clear a 5 sec timer and then we set it, that way every time we get hit we refresh the 5sec timer
SetHPRegen Event
the 5sec timer is completed and SetHPRegen triggers ->set timer by event -Regen -Time=1sec, Looping=True -> set timer handler variable HPRegenInterval ->set boolean canRegen=True. With this event we create a looping timer that triggers Regen every 1sec, we pass it to a timer handle and allow regenaration, we have the second timer handler here to end the 1sec looping later, else it is going to check every 1sec if we can regen, since it is likely for a lot of actors to have regen it is beter to close these timer for every one of them i guess
Regen Event
gets triggered every second if SetHPRegen triggers once -> if CurrentHP==MaxHP=True ->(with get timer handler variable HPRegenInterval-clear and invalidate timer by handle), =False ->(if boolean CanRegen=True ->(with desirable RegenRate Call Heal) =False ->(with get timer handler variable HPRegenInterval-clear and invalidate timer by handle)). With this we check if we can regen using the existing Heal function from our DamageSystem , if yes we regen, if no or we are at MaxHP we stop triggering the Regen Event HPRegenInterval Timer.
Now i try to take this and place it in the DamageSystem, take as a function in the definiton of a new HPRegen fuction of our Damagable interface but i cannot manage the events properly in the function and if i place the events in the event graph it doesn't work
Hey! Thank you for the detailed explanation and your kind words! It sounds like you’ve put a lot of thought into your regen system. For integrating it into the Damage System, you might want to double-check how the events are triggered within the function to ensure they connect properly with your existing logic. Sometimes, reorganizing the sequence or adding some debug statements can help narrow down the issue. Best of luck with it! If you still have trouble, feel free to share specific questions 😊
As someone getting a bachelors in game programming (4th year) with 3.5 years of indepth unity experience transitioning into unreal this video is a great start to understanding programming components, even if your completely new to making games 👍
Hey, that's great to hear! I'm glad you found the video helpful for your transition to Unreal. Best of luck with your studies and enjoy the journey! 🙏
Awesome Video. I spent alot of time doing some other "easy damage system" tutorials but they all locked the interaction to the char and ability / attack so it wasn't at all usable for long term. This Basic frame work was a really good exercise and learning tool! Thank you for your time.
Thanks so much for your kind words and support. Really glad you found this helpful 🙏☺️
first day with unreal and this took me 5 hours lol. got 90% right, went wrong with the health bar depleting... Great tutorial!
Hey there. Don't worry about it. The fact that you spent 5 hours trying it a great achievement and shows how dedicated you are. It doesn't matter how much time you spend learning as long as you stick with it. Keep up the good work!
Thank you for this damage system, you open a lot of doors for who, like me, are still learning "how unreal works"...
Hope you will have more visibility
You're very welcome, I'm very happy you found it helpful 🙏😁
Using the interface was impressive. The lecture was both enjoyable and informative. You have my full support!
Hey, thank you so much for your support and kind words! I'm glad you enjoyed the lecture and found it informative. Your support means a lot to me 🙏
Your tutorials are the only ones that teach me something useful,thanks a lot!!!
You're very welcome! I'm glad to hear that you find them useful. Thank you for watching and commenting 🙏
Amazing tutorial ! I'm struggling to find tutorials like this where you explain the whole integration and not just a quick prototype not reusable (often just made in the character blueprint). Plus you go straight to the point and are a good speaker !
I've not finished the video yet but maybe when there is a lot of nested elements like this do a quick drawing of a logic tree ? But as free content it's already amazing
Thanks !
Thank you! I indeed try to teach more than just show how something is done. So hopefully after finishing my tutorials, you have the knowledge to expand on it yourself and then you're able to create more complex systems, instead of just being able to create exactly what I showed you.
I like the idea of the doing a logic tree or some diagram to explain complex topics, I'll definitely consider it in future videos
Men i came across this video at 1am and as a software engineer this is like a movie lol! best video on UE that i've ever seen, new subscriber about to watch your whole library! keep up the good work!
Hey there! Thank you so much for your kind words! I'm really happy to hear that you found the video so engaging, and I appreciate your support as a new subscriber. I hope you find value in the rest of the content on the channel as well. Happy watching!
watched bookmark 12:01
finished watching!!! Love your tutorial!! Thanks!!
Glad to hear it! Let me know if you have any questions.
Heya Ali. I don't usually leave comments on videos but I gotta say, I was feeling really confused about alot of things related to unreal and I lost motivation until I found your videos and the way you explain everything in such an orderly manner, it just brought back the fire I had when I started.
You're a legend, keep it up
Hey! Thank you so much for your comment. I'm really happy to hear that my videos helped bring back your motivation. Your support means a lot to me! Keep creating, and if you ever have any questions, feel free to ask. 🙏
this content is amazing and so is the way you teach it, huge thanks for sharing your knowledge with us! 🙌🙏
Thank you so much for your kind words! I'm really glad you are finding the content helpful. Your feedback means a lot to me 🙌🙏
Thank you so much for your time and effort making these tutorials. I am learning how to code bps by following along and I'm learning the terminology i need to search more ideas that I want to implement. I will totally end up going through all of these videos.
You're very welcome! I'm thrilled to hear that you're finding the tutorials helpful and that you're committed to going through the entire series. Keep up the great work!
Thanks so much! This channel has been a gold mine for me to really start learning Unreal Engine 5!
You're very welcome! I'm glad you found the content helpful. Thank you for watching and commenting 🙏
This is one of the best tutorials I have ever seen, Thank you Ali for making this and I learned a lot and I honestly can't believe how detailed it was. Thank you and please keep making content you are an excellent teacher.
You're most welcome 😁 and thank you for the kind words, I'll definitely keep making new content, hope you enjoy it 🙏
@@AliElZoheiry I loved it and I will watch your other videos too, also please setup a patreon account if u haven't done that already. It's a great way for us viewers to show our gratitude
@@HandsOnKnowledge thank you so much, I do have a Patreon account indeed. www.patreon.com/Alizoh
@@AliElZoheiry Excellent I just subscribed with a custom amount, I will do more when I am able.
@@HandsOnKnowledge I really appreciate any amount, it helps a lot to keep this channel going, so thank you for that 🙏
Brilliant. Like others have said, I have learned more here than in all the Udemy tutorials I have tried. You have explained things in a way that allows me to follow along as well as consider my own implementations. Well done!
Thank you so much for your feedback! I'm thrilled to hear that you find my tutorials helpful and that they have brought a new perspective to your learning. Your words genuinely mean a lot to me.
I found your channel from the Object Pool video, and all I can say is that it's a gold mine, amazing content.
Thank you so much for your kind words and your support! I'm thrilled to hear that you're finding the content helpful and valuable. If you have any questions or suggestions for future videos, feel free to let me know!
Bind is based on tick... which is not performant for updating hp. Everything else in this video was perfection. I agree with you and I hate all the shallow videos out there. Everyone needs to go deeper and really understand the "why" behind things. I can't wait to go through the rest of your videos.
Hey, thanks for your thoughtful comment! I completely agree-understanding the "why" is crucial for effective game development. I'm glad you enjoyed the video, and I appreciate your support 🙏. Happy learning!
I know how to program windows applications for work purpose
I play a lot of games and understand mechanics
You just showed me how to apply logic to basically achive everything and on top of that you made me realize what structures are and how to use them
Damn good tutorial
That's great to hear! I'm glad you found the tutorial helpful. Thank you for your kind words and I'm happy to help!
A really great Tutorial. I was implementing my ParentActor with all variables like Health, AttackSpeed, MoveSpeed, PawnType etc. from a struct and its base functionality. Create ChildActors from it and give its default values. Now I am thinking on the way to merge it with your implementation. Yours looking so much cleaner. I appreciate you sharing your skills with us! Thanks!
Thank you for your kind words! It's great to hear that you found the tutorial helpful. It sounds like you've come up with an efficient system for your ParentActor. I'm glad my implementation has inspired some new ideas for you. Keep up the great work!
You are definitely the most helpful ue5 teacher out there!
Thank you for your kind words! I'm really glad to hear that you find my content helpful. If there's anything specific you'd like to see in future tutorials, feel free to let me know!
Ali, thank you for your work!! Using your tutorials to make my demo game for state championship, you are really great and what is really cool is that your system is easily compatible with my code. Happy Ramadan 🎉
You're very welcome! I'm glad to hear that my tutorials are helping you with your demo game for the state championship. Good luck with the competition, and happy Ramadan as well! 🌙
Absolutely fantastic tutorial.
As I mentioned on your recent video, I'm beginninfg my binge now. Funnily enough, the first tutorial I followed had me building cast functions everywhere and direct references within each actor and component. It was so unbelievably unrealiable, buggy and difficult to transfer application. The video itself had errors with it, was hard to follow at points, and frankly taught me a poor way of implementation.
While this is technically "more advanced" since you are using dispatches and structures, I can really appreciate the much more fluid interactivity and scaling. I had precisely ZERO problems following, and no problems with implementation.
The ONE problem I had was due to the legacy system I was using breaking some aspects of my movement animations due to all the direct cast references when I made a new Player instead of using the Thirdpersoncharacter. At this point I'm just going to scrap the old system and rebuild using this style of dispatches.
Still sad about my handbuilt stamina system based on the old method though, it workes really well and I'm going to have to rebuild it.
5 days into UE5 and it's looking good. Onto your next video. If possible, can you release future videos with a 1440p option?
Thank you for your kind words, that really motivates me! Always happy to see that my videos help people.
Regarding the video quality, my video editing software now only supports either 1080p or 4k, and 4k takes a really long time to render and make edits on, it will slow down my production time significantly. Is 1080p really limiting?
I think the quality of the videos is great 1080p works just fine @@AliElZoheiry
@@AliElZoheiry its not a big issue, more of a preference thing. I have 2 1440p monitors while im working and watching the guides. Its just a bit jarring going from one monitor where everything is crisp to the other one where the resolution is lower. Now and then i have to lean in a little to make out some text.
But if its a time issue dont worry about it. These are by far the best tutorials for UE5 and a better resolution would simply be a bit more icing on the cake.
Dude, i love your tutorials on unreal, really helping me grasp some of the functions and does and donts super easy to follow and understand.
Thank you ☺️🙏 it always brings me joy to see that i have helped someone, glad you liked it
@@AliElZoheiry for sure man i look forward to seeing more of this type of stuff in the future!
Thank You for this great tutorial, i just have a little tip for other guys our there - after dying actors leave their capsule components in the air and they are keep blocking your movement, so dont forget to turn off collisions on them (i guess it would be nice to completely delete them, but i didnt found a way to do it)
Thank you for the tip! I appreciate your comment and I'm glad you found the tutorial helpful.
If anyone is wondering what this looks like.
I put in a delay node (2 sec) Then get I a referance to Capsule Component and pull off that and Set Collision Enabled, New Type, Physics Only. Also Do this for the Mesh.
(Opitional if you want to remove "dead actors" ) I then put in another delay (how long you want to dead actor to be in the game) and then call Destroy Actor (leave target as self)
Hey this was an amazing tutorial! I look forward to doing more of your videos!
Thank you Ropiak, I really appreciate your support!
Hi, Ali. You are a fantastic instructor. This is the 3rd video of yours that I've watched. You gained a new Subscriber. What I love about your teaching style: 1) You speak clearly. 2) You give detailed information, but you also leave room for us to figure some things out on our own. 3) You do not play music while teaching. I will not Subscribe to channels that do that. 4) I appreciate your friendly and professional tone. I used to work for Epic when DOS games were a big thing. I am now working on a new 3D game and eventually a VR game. Thank you so much. Allen Pilgrim, Game Designer/Programmer of "Kiloblaster" and "Xargon." Game Design for "Super ZZTs: Monster Zoo."
Thank you so much for the support Allen, it means a lot to me that you would say that. I am very passionate about teaching and especially teaching game development, so I'm really happy to see that the effort is seen 🙏
Seems inefficient ... but does a great job of showing the various states that an entity may have. Beginners will learn much from this. Those with a programming background will immediately see where optimizations can be had and will code accordingly
Thank you for your feedback! I'm glad to hear that beginners can find value in the tutorial. It's good to mention though that I tested the performance of this and it was quite performant, even with hundreds of characters on the screen at the same time. So speaking from my programming background, the optimizations to be made here won't get it to perform any better, they will be what we call "micro-optimizations"
One of the best tutorials ever my god I love it!!
Hey there! Thank you so much for the incredibly kind words. I'm thrilled to hear that you found the tutorial so helpful and that you loved it! Your support means a lot to me. Keep creating amazing things!
Thank you , the GOD of UE tutorial author !!!!
Thank you for the kind words! I really appreciate it 🙏
Man I'm livid I'm just now finding your channel, amazing work!
Thank you for the kind words! I’m glad you found the channel, and I hope you enjoy the content 🙏
yes reusable and flexible design is exactly what is needed this is extremely helpful i have subscribed and liked!!! thanks a lot for this
Awesome! I'm glad to hear it was helpful, thank you for watching, commenting and subscribing 🙏
Just recently started learning this stuff and ur vids are a great help. Blueprint logic still makes my head spin, but atleast I have something to work with now, thanks!
Glad to hear that my videos are helping you out! Blueprint logic can definitely be overwhelming at first, but with practice, it will start to click. Keep at it and don't hesitate to ask if you need help.
Best tutorial I’ve seen so far !
Thanks so much, glad it was helpful 🙏
Very good tutorial.
For me as beginner it could be very hard and confusing.
Luckily I had previously some tutorial about basics of UE5, so then it was much easier to watch this.
Fact that you created very practical and universal damage system for every object that we can imagine is very nice :)
Great respect bro for your work :)
Thank you for your kind words. I'm very glad you find it useful ☺️
I think it should be noted that at 54:00 the amount of health regained while healing is set on the heal function in the player blueprint. I kinda missed it when he did this, so it was just a small mishap that tripped me up for longer than I'm proud of haha. hopefully this saves a few people some confusion.
Thanks a lot Nudo, I indeed realize that I just changed it from 0 to 10 while talking but I didn't stop to explain that I was doing so (I kinda went auto pilot there 😅)
You are a great Ali is great, I hope to continue learning with you I am also a programmer and new to unreal engine and I liked how you have implemented the interface of the damage system is a great start.
Thank you so much for your kind words and support! I'm thrilled that you found the damage system interface helpful. I look forward to sharing more learning opportunities with you in the future. Keep up the great work!
Great Tutorial brother. Learned a lot of stuff from all of your tutorials. You are best. Love you brother. Just one request bro when you are pulling out something from the components or other side panels, please frame it within the viewable area so that we don't have to assume on what you have pulled out from the side panel. Thank you, brother, for the wonderful Tutorial.
Hey! Thank you for your kind words and feedback 🙏 I'm really glad to hear you're finding the tutorials helpful! This was one of my earlier videos, I have since then improved my recording and video editing skills, so hopefully this won't happen anymore ;)
Hi Ali :)
After watching all of your tutorial videos in a couple of days, I've now started following along. And I must say, it was a very smooth ride ;D I made two little mistakes, but with your well-placed timestamps and some active brain cells, I managed to find them pretty fast.
Your process is very clear, and I really like how you always make a little summary at the end of a section. It gives time to recap and think about what we just did, as well as cleaning up, commenting, or even finding mistakes ;D
Next stop: projectiles! Or should I continue with smart AI? Hmmm... I think I will first build all the systems and then summon them ;D
Thanks for your time and effort! One can really see that you're indeed an experienced teacher and that you put a lot of effort into structuring your videos properly. It never feels "too long" since it's super interesting from start to end. And every step you make and every test you do feels great, especially when you become able to fix an issue/bug without rewatching the whole video ;D Then you feel the progress even more :)
Cheers!
Hey there!
I'm thrilled to hear that you found the tutorials smooth and helpful! It's great to know that the timestamps and summaries are aiding in your learning process. I use the projectile system and the damage system in the AI series, so you might want to do those first, but whichever you choose, I'm sure you'll enjoy it. Thank you for your kind words and positive feedback; it means a lot to me!
Stay tuned for more exciting content ahead!
Cheers!