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

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

КОМЕНТАРІ • 68

  • @w.strummer
    @w.strummer 26 днів тому +4

    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  25 днів тому +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 11 днів тому

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

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

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

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

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

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

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

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

      Thanks, will try my best!

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

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

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

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

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

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

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

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

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

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

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

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

  • @GGKornis
    @GGKornis 2 місяці тому +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  2 місяці тому +1

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

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

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

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

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

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

    Good quality, thank you.

  • @RomanTimm
    @RomanTimm 27 днів тому

    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!

  • @lauch8844
    @lauch8844 11 днів тому

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

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

    Really cool. Thanks!

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

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

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

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

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

      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.

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

    Perfect! Thanks a lot

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

    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  Місяць тому +1

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

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

    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  3 місяці тому

      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 3 місяці тому

      Greatly appreciated, your are awesome sir​@@DevKaiUnreal

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

    You are the mvp

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

    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.

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

    Great job👍

  • @RomanTimm
    @RomanTimm 27 днів тому

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

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

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

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

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

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

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

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

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

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

    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  3 місяці тому

      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 3 місяці тому +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  3 місяці тому

      @@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 2 місяці тому +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  2 місяці тому

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

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

    hi. Your video is really helpful.
    I have a question. Why define the same AbilitySystemComponent and other things together in Character and PlayerState?

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

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

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

    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  5 місяців тому +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 5 місяців тому

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

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

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

  • @小圆-f6t
    @小圆-f6t 2 дні тому +1

    How to use for npc

    • @DevKaiUnreal
      @DevKaiUnreal  День тому

      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  День тому

      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.

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

    Do I need to pay for it? Great tutorial!

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

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

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

    best, when new video? :)

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

      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 3 місяці тому

    comment for algorithm

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

      Thank you! :)

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

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