You are producing top tier unreal content. In a world of "How do I do this the quickest" tutorials, you are making truly useful content that sets up people for scalable games.. If you are enjoying making this content - please continue! Your debugging video was one of the most impactful unreal videos I've watched.
@@burningvirus7731 I don't have a public Discord channel right now and I guess that I won't find the time to maintain one for now. I am still working on the next video to come and I think the time would be better spend there. Sorry. :(
Thanks Kai, awesome content I'm experiencing something strange with replication, probably a setting in my engine. in listen server mode client 1 replicate but not the Health and stamina bar that are showing empty if i play with 2 or 3 clients with the server client 2 and 3 replicate everything corectly but client 1 still not get any initial values in health and stamina bar hope my issue is clear. This probably a setting somewhere but can't find it. Very clear and precise explanation of GAS without overwealming C++ implementation.
Awesome video! If I may, what was the reason for using "FGameplayAbilitySpec" without also inputting InInputID and InSourceObject? From what I know these are used for input handling of some sort and since we will eventually need to handle input, wasn't it needed here as well? Thanks!
Having an issue, everything compiles as expected but when I hit Q, i don't get the hello message on screen. I reviewed all the code multiple times and I'm just not sure where I went wrong. Is this tutorial still applicable for Unreal 5.4.3? Edit: Nevermind! Figured it out. I was calling GiveDefaultAbilities in OnRep_PlayerState instead of in PossessedBy. Whoops! Great tutorial, stoked to see what comes next. I love to see more intermediate level content put out, the market for introductory content is pretty bloated but intermediate content feels underserved.
Happy to hear you could figure it out. Unfortunately it's impossible to answer all comments properly. I agree that the beginner tutorial market is bloatet. That's why I focus more on intermediate tutorials. I am going to release a Game Feature Video soon and a Lyra Tutorial right after. See you. :)
Awesome intro into GAS. I have looked at other sources for information on the GASDocumentation and ability system. Enjoyed your presentation and explanations, your methods are easy to follow and appreciated. I had a question regarding your prototype repo "Eira". If it is possible, how could I make this a project to further explore your c++/blueprint implementations? Regardless, great series, take care.
Glad it was helpful. Thank you! :) Eira is not really meant to be cloned or forked, but if you want you can do just that. However, it's not going to work out of the box. You'd have to add the content which is ignored. Basically: Content/StarterContent/* Content/ThirdPerson/* Content/Imported/* Content/Characters/* I updated the repo to UE 5.4 for you to use with the most recent Unreal version. I will use parts of that repo as a base for the upcoming videos in this playlist. So, if you have a bit time, than you're going to find similar content together with the video tutorial here. :)
Good video, your video is smooth and content delivered clearly. Nothing you explained is missed and with a little elbow grease this is a great tool. I have one question, I am trying to make a passive regen for hp/stamina, what I did was modify the values of hp/stamina kick recovery so they are infinite, for now this only applies after kick. I notice the health properly stops at 100/maxhealth but the stamina eventually goes past 100/max. There might be something small I missed so I am still debugging, any feedback would be great.
Hey, thank you for the feedback! :) At 14:54 I explain how to clamp the _Health_ value to _MaxHealth_ value. In order to make your case work you have to do the same for _MaxStamina._ Also don't forget to define the value for _MaxStamina_ in _GE_PlayerDefaultAttributes_ and place this entry before _Stamina,_ so that it's initially not clamped to 0, as explained at 20:00. Regarding elbow grease... I consider the content delivery is quite dense. Could you please tell me how much time more or less it took you to work your way through the tutorial? For me it's really hard to estimate this for my own content. :D
@@DevKaiUnreal Sorry for confusion I just ment this video was long and informative, I enjoyed it. I mean personally I need to put some more effort to further my understanding, but your video was a good start.
@@ntc4747 I wasn't taking your comment negatively at all. Sorry for the confusion from my side. I just wanted to get an idea, how long it might take to work through the whole video from the beginning to the end. Maybe 3 hours, 5 hours? Just to get a measure. I just can't estimate that at all. Thanks in advance.
@@DevKaiUnreal Perhaps I can answer this question. Accounting for all the breaks I took while working through the content, I think it took me about 4 hours to work alongside and fix errors that crept up due to the speed of content delivery. That said, I like the speed a lot, because it forced me to stop and think about things while working alongside. I was forced to pause the video and consider what you were saying. If we add in the taking notes and repeating some topics to get a deeper understanding, I am not quite finished yet and have passed the 6-hour mark. This topic is quite broad and leaves a number of topics that could be elaborated upon. Thank you for the effort and sharing your knowledge, Kai. Much appreciated.
@@SquifiMcDougall Thank you Squifi for your comprehensive answer. I really appreciate hearing that the speed is well received. I was already guessing that working through the video could take more than a day depending on the desired level of detail in doing research and taking notes alongside. Might also be suitable for a refreshment of knowledge. Thanks again, and have fun with learning Unreal Engine! :)
hi. Your video is really helpful. I have a question. Why define the same AbilitySystemComponent and other things together in Character and PlayerState?
Hey, your feedback is also really helpful. Thank you! :) `AFabCharacterBase` holds a reference to the ASC (as well as to the AS, DefaultAbilities and DefaultAttributeEffect), that does not mean that they own the ASC. In case of the enemy, the OwnerActor is the `AEnemyCharacter` and for the Player it's the `AFabPlayerState`. The AvatarActors are the Character classes in both cases. I follow the documentation and implement the IAbilitySystemInterface on the AvatarActor as well. Storing a reference on the Characters makes it easy to access the ASC. Or to cite the unofficial documentation (link in the video description): _Both, the OwnerActor and the AvatarActor if different Actors, should implement the IAbilitySystemInterface..._
@@DevKaiUnreal I can't get my FabPlayerState to show up in the all classes search. I can't get the ability tab to show up. I can't get my attributes to show up in the drop down list. Help!
Thank you for your suggestion! However, I think there are already really good Unreal C++ beginner tutorials out there. I recommend taking a look into Udemy or GameDev.tv. In the case of this playlist, I had rather intermediate tutorial videos in mind that build on one another. That's why I laid out the longer GAS video, as it is a crucial part of the base for what is to come next.
Thank you! I try to publish the follow-up video as soon as possible. However, since I am doing this in my spare time I can't promise that. But I'm pretty sure that I am going to publish the next video for this playlist by the end of May. :)
You are producing top tier unreal content. In a world of "How do I do this the quickest" tutorials, you are making truly useful content that sets up people for scalable games.. If you are enjoying making this content - please continue! Your debugging video was one of the most impactful unreal videos I've watched.
This is one of the best tutorials on GAS, thank you so much for this 💗
Again, thanks a lot for your feedback! I'm glad I could help. :)
OMG! I'm so happy I found your channel. You explain very well how GAS works, great job❤
Thank you so much for your feedback! I'm going to upload more content for this playlist soon. :)
Really one of the best ones on this topic. Very consistent, more then just basics, and gives everything and even more to understand and to start.
Thank you! I'm very happy to hear that!
Just perfect tutorial about GAS. Thank you man. Continue in such maner.
Thanks, will try my best!
@@DevKaiUnreal thanks for the video, helps alot
do u have a discord or something ?
@@burningvirus7731 I don't have a public Discord channel right now and I guess that I won't find the time to maintain one for now. I am still working on the next video to come and I think the time would be better spend there. Sorry. :(
Thanks Kai, awesome content
I'm experiencing something strange with replication, probably a setting in my engine.
in listen server mode client 1 replicate but not the Health and stamina bar that are showing empty
if i play with 2 or 3 clients with the server client 2 and 3 replicate everything corectly but client 1 still not get any initial values in health and stamina bar
hope my issue is clear. This probably a setting somewhere but can't find it.
Very clear and precise explanation of GAS without overwealming C++ implementation.
You are the mvp
Tank you! :)
Very nice. Not much new for me personally, but the flow is insanely good and the information here is gold!. Great stuff 🎉❤
Thank you! It's really helpful to get feedback, especially when it comes to the pacing/flow. :)
Awesome video!
If I may, what was the reason for using "FGameplayAbilitySpec" without also inputting InInputID and InSourceObject?
From what I know these are used for input handling of some sort and since we will eventually need to handle input, wasn't it needed here as well?
Thanks!
Good quality, thank you.
Thanks, same as the previous videos, this one is very helpful! 👍👍👍
Liked + subscribed
Thank you so much for the feedback. Glad you like them!
Very cool video, thank you! Btw, do you plan to do more tutorials?
Thank you! :) I'm working on a Lyra video that doesn't belong to that playlist. I hope it's going to be finished very soon.
Really cool. Thanks!
I'm glad you enjoyed it. Thank you for your comment. :)
Perfect! Thanks a lot
Thank you!
Also, who do we do the Clamp also in Pre and Post? Isn't it redundant?
I followed the tutorial, but the "Ability Target Data From Actor" node always returns (). Please share some thoughts on this problem. Thanks a lot.
It doesn't work when net mode is set to Client, what can be the problem with it?
Hey I just found your channel. Nice video. Keep up the good work. + 1 Sub
Thank's for nice feedback and the Sub! :)
Great job👍
Thank you! :)
Having an issue, everything compiles as expected but when I hit Q, i don't get the hello message on screen. I reviewed all the code multiple times and I'm just not sure where I went wrong. Is this tutorial still applicable for Unreal 5.4.3?
Edit:
Nevermind! Figured it out. I was calling GiveDefaultAbilities in OnRep_PlayerState instead of in PossessedBy. Whoops! Great tutorial, stoked to see what comes next. I love to see more intermediate level content put out, the market for introductory content is pretty bloated but intermediate content feels underserved.
Happy to hear you could figure it out. Unfortunately it's impossible to answer all comments properly. I agree that the beginner tutorial market is bloatet. That's why I focus more on intermediate tutorials. I am going to release a Game Feature Video soon and a Lyra Tutorial right after. See you. :)
Awesome intro into GAS. I have looked at other sources for information on the GASDocumentation and ability system. Enjoyed your presentation and explanations, your methods are easy to follow and appreciated.
I had a question regarding your prototype repo "Eira". If it is possible, how could I make this a project to further explore your c++/blueprint implementations?
Regardless, great series, take care.
Glad it was helpful. Thank you! :)
Eira is not really meant to be cloned or forked, but if you want you can do just that. However, it's not going to work out of the box. You'd have to add the content which is ignored. Basically:
Content/StarterContent/*
Content/ThirdPerson/*
Content/Imported/*
Content/Characters/*
I updated the repo to UE 5.4 for you to use with the most recent Unreal version.
I will use parts of that repo as a base for the upcoming videos in this playlist. So, if you have a bit time, than you're going to find similar content together with the video tutorial here. :)
Greatly appreciated, your are awesome sir@@DevKaiUnreal
Good video, your video is smooth and content delivered clearly. Nothing you explained is missed and with a little elbow grease this is a great tool. I have one question, I am trying to make a passive regen for hp/stamina, what I did was modify the values of hp/stamina kick recovery so they are infinite, for now this only applies after kick. I notice the health properly stops at 100/maxhealth but the stamina eventually goes past 100/max. There might be something small I missed so I am still debugging, any feedback would be great.
Hey, thank you for the feedback! :) At 14:54 I explain how to clamp the _Health_ value to _MaxHealth_ value. In order to make your case work you have to do the same for _MaxStamina._ Also don't forget to define the value for _MaxStamina_ in _GE_PlayerDefaultAttributes_ and place this entry before _Stamina,_ so that it's initially not clamped to 0, as explained at 20:00.
Regarding elbow grease... I consider the content delivery is quite dense. Could you please tell me how much time more or less it took you to work your way through the tutorial? For me it's really hard to estimate this for my own content. :D
@@DevKaiUnreal Sorry for confusion I just ment this video was long and informative, I enjoyed it. I mean personally I need to put some more effort to further my understanding, but your video was a good start.
@@ntc4747 I wasn't taking your comment negatively at all. Sorry for the confusion from my side. I just wanted to get an idea, how long it might take to work through the whole video from the beginning to the end. Maybe 3 hours, 5 hours? Just to get a measure. I just can't estimate that at all. Thanks in advance.
@@DevKaiUnreal Perhaps I can answer this question. Accounting for all the breaks I took while working through the content, I think it took me about 4 hours to work alongside and fix errors that crept up due to the speed of content delivery. That said, I like the speed a lot, because it forced me to stop and think about things while working alongside. I was forced to pause the video and consider what you were saying.
If we add in the taking notes and repeating some topics to get a deeper understanding, I am not quite finished yet and have passed the 6-hour mark. This topic is quite broad and leaves a number of topics that could be elaborated upon.
Thank you for the effort and sharing your knowledge, Kai. Much appreciated.
@@SquifiMcDougall Thank you Squifi for your comprehensive answer. I really appreciate hearing that the speed is well received. I was already guessing that working through the video could take more than a day depending on the desired level of detail in doing research and taking notes alongside. Might also be suitable for a refreshment of knowledge. Thanks again, and have fun with learning Unreal Engine! :)
hi. Your video is really helpful.
I have a question. Why define the same AbilitySystemComponent and other things together in Character and PlayerState?
Hey, your feedback is also really helpful. Thank you! :) `AFabCharacterBase` holds a reference to the ASC (as well as to the AS, DefaultAbilities and DefaultAttributeEffect), that does not mean that they own the ASC. In case of the enemy, the OwnerActor is the `AEnemyCharacter` and for the Player it's the `AFabPlayerState`. The AvatarActors are the Character classes in both cases. I follow the documentation and implement the IAbilitySystemInterface on the AvatarActor as well. Storing a reference on the Characters makes it easy to access the ASC. Or to cite the unofficial documentation (link in the video description):
_Both, the OwnerActor and the AvatarActor if different Actors, should implement the IAbilitySystemInterface..._
comment for algorithm
Thank you! :)
@@DevKaiUnreal I can't get my FabPlayerState to show up in the all classes search. I can't get the ability tab to show up. I can't get my attributes to show up in the drop down list. Help!
Do I need to pay for it? Great tutorial!
No, the content is free. I haven't though about monetization yet. That might happen at some point in the future, not sure yet.
just an idea but it would be amazing if you made a c++ for beginners series! There is not much about it other than videos 12+ hours long.
Thank you for your suggestion! However, I think there are already really good Unreal C++ beginner tutorials out there. I recommend taking a look into Udemy or GameDev.tv. In the case of this playlist, I had rather intermediate tutorial videos in mind that build on one another. That's why I laid out the longer GAS video, as it is a crucial part of the base for what is to come next.
@@DevKaiUnreal i will definitely check them out! thank you for your amazing content, you are extremely smart :)
@@fletchmane6075 Thank you so much! I wish you a great Unreal journey! See you around. :)
best, when new video? :)
Thank you! I try to publish the follow-up video as soon as possible. However, since I am doing this in my spare time I can't promise that. But I'm pretty sure that I am going to publish the next video for this playlist by the end of May. :)