4. Unreal Engine 5 C++ | Gameplay Ability System - Step by Step

Поділитися
Вставка
  • Опубліковано 26 лис 2024

КОМЕНТАРІ • 79

  • @w.strummer
    @w.strummer 3 місяці тому +7

    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.

    • @DevKaiUnreal
      @DevKaiUnreal  3 місяці тому +2

      Thank you for the awsome feedback! :) I do work on the next 2 videos. However, I had to meet some obligations recently. I hope to upload the next video as soon as possible.

  • @MonkeyHood
    @MonkeyHood 2 місяці тому

    Thank you. I've watched like 5 other tutorials but I found yours the easiest to follow. Very straight forward.

  • @taXoF
    @taXoF Місяць тому

    I never comment on UA-cam Videos; but I had to for this one. I'm 3 minutes in and you're using a visual representation for a relatively complicated system. I've seen a number of other tutorials that don't do this; I can tell this is already really high quality and exactly what I was looking for. Keep it up - subscribed as i'll be working my way up to using GAS in the future. Well done!

    • @DevKaiUnreal
      @DevKaiUnreal  Місяць тому

      Thank you so much! I really appreciate the feedback. :)

  • @mrsbkz6480
    @mrsbkz6480 7 місяців тому +4

    OMG! I'm so happy I found your channel. You explain very well how GAS works, great job❤

    • @DevKaiUnreal
      @DevKaiUnreal  7 місяців тому +1

      Thank you so much for your feedback! I'm going to upload more content for this playlist soon. :)

  • @olliverkatana4168
    @olliverkatana4168 5 місяців тому +3

    Just perfect tutorial about GAS. Thank you man. Continue in such maner.

    • @DevKaiUnreal
      @DevKaiUnreal  5 місяців тому +1

      Thanks, will try my best!

    • @burningvirus7731
      @burningvirus7731 5 місяців тому

      @@DevKaiUnreal thanks for the video, helps alot
      do u have a discord or something ?

    • @DevKaiUnreal
      @DevKaiUnreal  5 місяців тому

      @@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. :(

  • @funkYouuu
    @funkYouuu 7 місяців тому +1

    Great job👍

  • @thegamingvan
    @thegamingvan 18 днів тому

    This Tutorial was extremely helpful. Thank you! I can now setup basic GAS for all my projects that need it. It would be super exciting to see a more complex example based on this, like with different states (like weapon pickups etc). Or how you think you would implement states. Would you use these gameplay tags for everysthing, or Behaviour Trees / State Machines? how would they integrate into GAS? maybe in a future video :) Thanks again, these tutorials are so good!

    • @DevKaiUnreal
      @DevKaiUnreal  15 днів тому +1

      Thank you! I wouldn't use Gameplaytags for everything. Behavior Trees, State Machines and also AnimGraphs have their purpose and facilitate the creation of different kinds of finite state machines. It's often hard to wrap your head around those things only with code, without a visual representation. Actually I am planning to do a video about it.

    • @thegamingvan
      @thegamingvan 15 днів тому

      @@DevKaiUnreal That would be great, thank you!

  • @GGKornis
    @GGKornis 4 місяці тому +2

    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.

    • @DevKaiUnreal
      @DevKaiUnreal  4 місяці тому +1

      Thank you! I'm very happy to hear that!

  • @sadunozer2241
    @sadunozer2241 7 місяців тому

    Very nice. Not much new for me personally, but the flow is insanely good and the information here is gold!. Great stuff 🎉❤

    • @DevKaiUnreal
      @DevKaiUnreal  7 місяців тому

      Thank you! It's really helpful to get feedback, especially when it comes to the pacing/flow. :)

  • @omegakenshin
    @omegakenshin 6 місяців тому +6

    This is one of the best tutorials on GAS, thank you so much for this 💗

    • @DevKaiUnreal
      @DevKaiUnreal  6 місяців тому

      Again, thanks a lot for your feedback! I'm glad I could help. :)

  • @sebastiencarmona6563
    @sebastiencarmona6563 3 місяці тому

    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.

  • @tomscodeshk
    @tomscodeshk 5 місяців тому

    Thanks, same as the previous videos, this one is very helpful! 👍👍👍
    Liked + subscribed

    • @DevKaiUnreal
      @DevKaiUnreal  5 місяців тому

      Thank you so much for the feedback. Glad you like them!

  • @abc-yg6tk
    @abc-yg6tk 4 місяці тому

    Good quality, thank you.

  • @RomanTimm
    @RomanTimm 3 місяці тому

    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!

  • @thesteamchicken
    @thesteamchicken 3 місяці тому +1

    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.

    • @DevKaiUnreal
      @DevKaiUnreal  3 місяці тому +2

      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. :)

  • @Cloroqx
    @Cloroqx 6 місяців тому

    Really cool. Thanks!

    • @DevKaiUnreal
      @DevKaiUnreal  6 місяців тому

      I'm glad you enjoyed it. Thank you for your comment. :)

  • @hannanehhoseinnejad1577
    @hannanehhoseinnejad1577 7 місяців тому

    Perfect! Thanks a lot

  • @eternalsoma
    @eternalsoma 3 місяці тому

    You are the mvp

  • @ntc4747
    @ntc4747 5 місяців тому

    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.

    • @DevKaiUnreal
      @DevKaiUnreal  5 місяців тому

      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

    • @ntc4747
      @ntc4747 5 місяців тому +1

      @@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.

    • @DevKaiUnreal
      @DevKaiUnreal  5 місяців тому

      @@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.

    • @SquifiMcDougall
      @SquifiMcDougall 5 місяців тому +1

      @@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.

    • @DevKaiUnreal
      @DevKaiUnreal  5 місяців тому

      @@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! :)

  • @bfs9043
    @bfs9043 4 місяці тому

    Very cool video, thank you! Btw, do you plan to do more tutorials?

    • @DevKaiUnreal
      @DevKaiUnreal  3 місяці тому

      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.

  • @Castfire47
    @Castfire47 5 місяців тому

    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.

    • @DevKaiUnreal
      @DevKaiUnreal  5 місяців тому

      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. :)

    • @Castfire47
      @Castfire47 5 місяців тому

      Greatly appreciated, your are awesome sir​@@DevKaiUnreal

  • @lauch8844
    @lauch8844 2 місяці тому

    I dont understand how you prevent the client from changing the gameplaytag of the target hit in the ability. there is no "has authority" blueprint node used...

  • @hotsauce7124
    @hotsauce7124 6 днів тому

    Hello I'm an Artist, how can I learn how to add a new attack system to Lyra? Like a sword swing attack, block and death? Can I duplicate some attack C++ from Lyra and swap in new sword attack animations.

    • @DevKaiUnreal
      @DevKaiUnreal  6 днів тому

      Hi. I would start by copying the GA_Melee, AM_MM_Pistol_Melee, and MM_Pistol(_Additive). Then rename the Gameplay Ability, replace the Anim Montage and in there swap out the UpperBody(Additive) parts with your retargeted Anim Sequences. Unfortunately I can't reiterate over the steps now to get into the details, since I am sitting in a train. This also might be to many steps for just a comment. However, my next video is going to be exactly about Lyra and those topics. Hope I could help.

  • @RomanTimm
    @RomanTimm 3 місяці тому

    Also, who do we do the Clamp also in Pre and Post? Isn't it redundant?

  • @mengyu4128
    @mengyu4128 4 місяці тому

    I followed the tutorial, but the "Ability Target Data From Actor" node always returns (). Please share some thoughts on this problem. Thanks a lot.

  • @ITAngel
    @ITAngel 4 місяці тому

    Hey I just found your channel. Nice video. Keep up the good work. + 1 Sub

    • @DevKaiUnreal
      @DevKaiUnreal  4 місяці тому

      Thank's for nice feedback and the Sub! :)

  • @a.mikecampbell
    @a.mikecampbell Місяць тому

    I'm having an issue where, when I kick the second player, they receive the tag "IsKicking", and their health isn't changing. Is there a checkbox or spot in the code I missed where the state is duplicated?

    • @a.mikecampbell
      @a.mikecampbell Місяць тому

      I know it's impossible to say not being able to see my code, but I know that the Gameplay state was configured in ways as to allow for multiplayer, and I'm wondering if I got my wires crossed in an obvious spot that I can't seem to track down.

    • @DevKaiUnreal
      @DevKaiUnreal  Місяць тому +1

      Hey thank you for comment. Yeah it's not easy to say what the problem exactly is. Did you try to clone the repository from GitHub and run that project? The video is part of a playlist, so that should work. You could then, step by step, copy each part into your project to find out what the reason behind the problem was.

  • @GGKornis
    @GGKornis 4 місяці тому

    It doesn't work when net mode is set to Client, what can be the problem with it?

  • @MrJerikoSalivan
    @MrJerikoSalivan 6 місяців тому

    Do I need to pay for it? Great tutorial!

    • @DevKaiUnreal
      @DevKaiUnreal  5 місяців тому

      No, the content is free. I haven't though about monetization yet. That might happen at some point in the future, not sure yet.

  • @NOTA-Ling
    @NOTA-Ling 2 місяці тому +1

    How to use for npc

    • @DevKaiUnreal
      @DevKaiUnreal  2 місяці тому

      The most common way would be for your NPCs to have an AIController which references a BehaviorTree. For the leaves of the Tree you create BehaviorTasks in which you trigger the abilities.

    • @DevKaiUnreal
      @DevKaiUnreal  2 місяці тому

      I forgot to mention that you should add a nav mesh bounds volume to your map for it to work. I will probably make a video about NPCs that use Abilities. However, I can't tell a time.

  • @fletchmane6075
    @fletchmane6075 7 місяців тому

    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.

    • @DevKaiUnreal
      @DevKaiUnreal  7 місяців тому +3

      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.

    • @fletchmane6075
      @fletchmane6075 7 місяців тому

      @@DevKaiUnreal i will definitely check them out! thank you for your amazing content, you are extremely smart :)

    • @DevKaiUnreal
      @DevKaiUnreal  7 місяців тому

      @@fletchmane6075 Thank you so much! I wish you a great Unreal journey! See you around. :)

  • @MartinPlaysRust
    @MartinPlaysRust Місяць тому

    I am lost 3 minutes I have no idea how you got to that c++ code

    • @DevKaiUnreal
      @DevKaiUnreal  Місяць тому

      This video is part of a playlist that starts with the creation of the C++ project. There's also a GitHub link in the description.

  • @TvCinemaCraft
    @TvCinemaCraft 6 місяців тому

    best, when new video? :)

    • @DevKaiUnreal
      @DevKaiUnreal  6 місяців тому

      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. :)

  • @henrybottomsworth
    @henrybottomsworth 6 місяців тому

    comment for algorithm

    • @DevKaiUnreal
      @DevKaiUnreal  6 місяців тому

      Thank you! :)

    • @henrybottomsworth
      @henrybottomsworth 5 місяців тому

      @@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!