Unreal Engine 5 Tutorials: Gameplay Ability System in 20 minutes - An Introduction

Поделиться
HTML-код
  • Опубликовано: 1 авг 2024
  • In today's tutorial, we're diving into the Gameplay Ability System - a game-changer for your projects.
    By the end, you'll not only grasp the Gameplay Ability System but effortlessly set it up in your own project. Dreaming of creating the next Diablo, Starfield, Cyberpunk, or Fallout? This plugin is your secret weapon. Let's turn those dreams into reality!
    Chapters:
    00:00 Start
    00:38 Overview - Attributes
    00:48 Overview - Attribute Sets
    01:06 Overview - Gameplay Tags
    01:22 Overview - Gameplay Cue
    01:37 Overview - Gameplay Effect
    02:04 Overview - Ability Tasks
    02:31 Overview - Gameplay Ability
    03:04 Overview - Ability System
    03:35 Adding the Gameplay Ability Plugin
    03:59 Creating our Standard Attribute Set
    04:40 PreAttributeChange
    05:05 PostGameplayEffectExecute
    06:03 Gameplay Effect Overview
    06:23 Gameplay Effect Durations
    06:36 Gameplay Effect Modifiers
    07:36 Gameplay Effect Executions
    07:44 Conditional Gameplay Effects
    07:58 Gameplay Effect - Period
    08:10 Gameplay Effect - Tags
    08:14 Gameplay Effect - Tags - Asset Tag
    08:22 Gameplay Effect - Tags - Granted Tags
    08:31 Gameplay Effect - Tags - Blocked Ability Tags
    08:34 Gameplay Effect - Tags - Ongoing Tags
    09:01 Gameplay Effect - Tags - Application Tag Requirements
    09:23 Gameplay Effect - Tags - Removal Tags
    09:32 Gameplay Effect - Tags - Remove Gameplay Effects
    09:54 Gameplay Effect - Immunity
    10:09 Gameplay Effect - Stacking
    10:54 Gameplay Effect - Granted Abilities
    11:07 Gameplay Effect - Real-World Example
    11:27 Adding an AbilitySystem and an Attribute Set to a Character
    11:45 IAbilitySystemInterface
    11:59 AbilitySystemComponent + Attribute SubObjects
    12:10 Setting Initial Gameplay Effects + Abilities
    12:41 AbilitySets
    13:09 Granting Abilities
    13:48 Binding EnhancedInput to the AbilitySystem
    14:32 Creating a Gameplay Ability
    14:58 Gameplay Ability - Wait for Gameplay Event
    15:06 Gameplay Ability - Wait Target Data
    15:41 Gameplay Ability - Applying Damage
    15:59 Standard Damage Effect
    16:15 Gameplay Ability - Set By Caller Magnitude
    16:35 Why I like Gameplay Abilities
    16:56 Gameplay Ability Tags
    20:04 Gameplay Events
    20:50 Final Result
    20:58 Outro
  • ХоббиХобби

Комментарии • 142

  • @crispychicken143
    @crispychicken143 9 месяцев назад +6

    around 13:39, how and where did you define InitiallyGrantedAbilitySpecHandles?

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  9 месяцев назад +8

      Very good spot!
      It looks like I skipped over defining that in the header!
      You will want to add:
      UPROPERTY(Transient)
      TArray InitiallyGrantedAbilitySpecHandles;
      Sorry, and thank you for spotting that.

    • @crispychicken143
      @crispychicken143 9 месяцев назад +1

      thanks! also quick question, on my project ive been using enhanced input purely through blueprints, and was wondering how i would go about triggering an ability in blueprints, lets say from the on completed pin from an enhanced input node.

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  9 месяцев назад

      @@crispychicken143 You'd need to get the ability system component, then send PressInputID or ReleaseInputID :)

    • @crispychicken143
      @crispychicken143 9 месяцев назад +1

      awesome, it works thanks
      @@DanGoodayleUnreal

    • @VlRos94
      @VlRos94 6 месяцев назад +2

      TArray InitiallyGrantedAbilitySpecHandles;

  • @deniskorkh4129
    @deniskorkh4129 9 месяцев назад +3

    Brilliant! Probably the best example, definitely my favorite, of how to do a system walkthrough. Thank you.

  • @ohchristusername
    @ohchristusername 9 месяцев назад +2

    Superb quick intro! Showed this to a team mate and it made most of the system click for them!

  • @ray3dx661
    @ray3dx661 9 месяцев назад +1

    This is what we needed! Thank you for making this amazingly well explained tutorial!

  • @SkinnyBruv
    @SkinnyBruv 9 месяцев назад

    Keep up the good work, keen to see more

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  9 месяцев назад

      Thanks! I'll be making a lot more in the future, currently running a poll on Twitter to choose what's next twitter.com/DGoodayle/status/1714206342368395596

  • @tekphreakk
    @tekphreakk 9 месяцев назад +6

    Thanks for putting this together. Easy to understand and to the point. Looking forward to the next one!

  • @kyungook
    @kyungook 3 месяца назад

    Thanks for the great tutorial! Can't wait for the next one!

  • @AngelspeedForLife
    @AngelspeedForLife 4 месяца назад +1

    This was very insightfull cant wait for the network part of the gameplay abilities video

  • @entei6736
    @entei6736 6 месяцев назад +2

    wow thank you so much. I hope we can get a part 2 :)

  • @Sluggernaut
    @Sluggernaut 9 месяцев назад +3

    Easiest subscribe button I've hit in a while.

  • @Bigaku999
    @Bigaku999 2 месяца назад

    Thank you so much, this wss very easy to understand!

  • @zerohcrows
    @zerohcrows 3 месяца назад +1

    Any plans for a part 2? this was a really helpful video!

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  3 месяца назад

      Soon! I’ll be going over the new upgrades, some common patterns and gotchas 👍

  • @thomassmcg
    @thomassmcg 7 месяцев назад +1

    The best tutorial I've seen on Ability System so far

  • @fraznn23
    @fraznn23 9 месяцев назад +1

    In the divide Op in the GameplayEffect - dividing by 0.5 would double the health 😀

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  9 месяцев назад +1

      For some reason when I recorded that it made sense to me - I meant multiply! :D Damn typo :D

  • @saboogly
    @saboogly 3 месяца назад +1

    As someone who has no idea what you said, 80% of the video lol it was still enough to give me hope that i can learn this.

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  3 месяца назад

      You can learn it! Are you just starting out?

    • @saboogly
      @saboogly 3 месяца назад +1

      @DanGoodayle ya just been messing around with shooters but wanted more Strategy and rpg. So this is exactly what I want but never done plug-ins or coded so we shall see how much hair I have left after learning this 🤣🤣🤣

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  3 месяца назад

      @saboogly gotcha! Best of luck, lots to learn but take it a day at a time.

  • @Gulzt
    @Gulzt 7 месяцев назад +1

    Super useful! I wonder about the animation notify, I thought on a dedicated server that animations aren't actually playing. But from your example, does this suggest it will still figure out when to trigger the notify without me being dependent on the client to tell it?
    One more note, the "A Guided Tour of Game Abilities | Inside Unreal" from Epic suggests an easier way to initialize values.
    On the BP class of the Ability System Component on the Instigator, find the Default Starting Data property, and add the AttributeSet class as the attribute, and use the Data Table to be the Default Starting Table.

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  7 месяцев назад +1

      Hey there!
      Yes you can use that system, however I prefer directly using gameplay effects. I haven’t seen any projects using the default starting data for a while now so I don’t recommend it personally.
      The animation notifies - I would need to check as I’m currently away from any pcs or code - but I _think_ animation montages still play on the server, but don’t tick bone positions. The notify should still trigger.
      Again, I’d need to confirm as I don’t know off hand if that’s true or not.

  • @anma7424
    @anma7424 7 месяцев назад +1

    Actually you can make your own custom getters and setters for each attribute instead of making a big chunk of pasta style if's or switch in PreAttributeChange function.
    However it's really great tutorial about basics of GAS framework.

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  7 месяцев назад

      Thanks!
      Custom Getter / Setters are great, but they can be used anywhere, clamping in the preattributechange is for a very specific part of the attribute flow, I agree it feels a bit copypastey so a better flow would be passing values as ref to a function to avoid the code dupe

  • @VanFS3K
    @VanFS3K 6 месяцев назад +1

    Great video. Was there ever a part 2?

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  6 месяцев назад +1

      It’s coming, had to do a bit of a rewrite for 5.3 and things have been pretty busy the last month

  • @BooneyianLogic
    @BooneyianLogic 9 месяцев назад +2

    thank you so much for making this so easy to follow and understand. Would this be possible to do with just blueprints and not c++? sorry if this is a dumb question im pretty new to unreal.

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  9 месяцев назад

      Hey there - no problem. Sadly no - out of the box this requires some C++ code. But I'm happy to help guide people getting started with things. There isn't much C++ you need to write to get things working.

  • @NaerlyNona
    @NaerlyNona 9 месяцев назад +1

    Hello!Thank you for the tutorial, helps a lot to clarify things up :)
    If I may ask, what IDE are you using (Is that Rider?) ? I've been using VS but I feel a but overwhelmed about it, since I only use it for Unreal Engine and feel like I spent a lot of time fighting with to make it work. Do you have a similar experience with your current IDE, and would you recommend it over VS in the case of a solo dev that is gonna use GA for their project?
    I agree with some comments that the background at the start is a bit distracting and might be a bit nauseous or disturbing for some people. Otherwise, great video, it's nice you are zooming on things you are talking about!

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  9 месяцев назад +1

      Thank you!
      Yes it’s Rider, I prefer it myself and swapped to it from VS a couple of years back as I found it had better performance with UE when I swapped (VS has probably caught up now, but I don’t know as I don’t use it).
      I’ve stopped using those backgrounds in my latest videos 😀 I’ve been trying out new things to see what works and really miscalculated that background 😅

  • @griffinshields2259
    @griffinshields2259 24 дня назад +1

    your guide is great but i'm having a lot of trouble setting up my project to be similar to the starting point yours is at at the start of the video

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  21 день назад

      Hey there, what issues are you seeing? What version of Unreal are you on?

  • @Athasin
    @Athasin 8 месяцев назад +1

    Great video! Quick question, where do you declare your Ability Input enum?

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  8 месяцев назад

      Ah I show it at 13:07 - but its just in its own header file called AbilityInput.h

    • @Athasin
      @Athasin 8 месяцев назад +1

      @@DanGoodayleUnreal Thanks!

  • @2bgod210
    @2bgod210 7 месяцев назад +1

    Ty for this concise video! I managed to get a basic attack working but I noticed there are several places where the attributes under the detail panel do not show up on my end. May I ask what version you are using? My engine version is 5.3.

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  7 месяцев назад

      5.3 as well, what code did you use to get them into the details panel?

    • @olivierdubois9372
      @olivierdubois9372 6 месяцев назад +1

      @@DanGoodayleUnreal I have the same issue in 5.3
      I have created a new GameplayEffect after following all of the other steps, but when I go in the Class Defaults I have way less options than what you are showing in the video. I have Status, Duration, Gameplay Effect, Gameplay Cues, and Stacking, but none of the other defaults, like Period, or Tags.

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  6 месяцев назад

      @@olivierdubois9372 ah! Yes they changed the layout in 5.3, I’ll make an updated video explaining how that works.

  • @Cloganart
    @Cloganart 8 месяцев назад +1

    So at 4:02 I don't even see Gameplay Abilities in my private or Public folders. I wonder why could this be? I enabled the plugin in the project and generated my visual studio files. Not sure where I'm messing up.

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  8 месяцев назад

      It’s an engine level plugin, so it’ll be where ever your engine is installed to👍

  • @kpredkiewicz
    @kpredkiewicz 4 месяца назад +1

    Hi, how exactly did you handle dealing damage? In GE you change Damage Attrbiute - shouldn't damage attribute be responsible for calculating how much damage WE are dealing, and we instead, should be modyfing Health attrbiute, by whatever damage attribute value we are having?

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  3 месяца назад

      Good question!
      I usually use the damage as a meta attribute on the target, then when the damage attribute changes it then modifies the health attribute.
      That way if I have things like armor or shields as an attribute I can then take from those attribute first before modifying the health.
      That way when you only need to apply “damage” to a target, knowing that shield and armor stats are handled with it.
      Even if you don’t have those extra attributes right now, having that split means you don’t have to remake all of your effects in the future if you do actually add them.
      I also use an execution modifier on the effect to modify the outgoing damage by incoming / outgoing damage modifier’s so I can add global modifiers to a character (like a 2x damage buff)

  • @Shadowfall_TV
    @Shadowfall_TV 8 месяцев назад

    I have 3 questions:
    1. Can you elaborate more on the anim notify at 20:14 and how to set that up correctly? I don't see any options to add event tags to the anim notify.
    2. If I add a function called received notify, how do I get the mesh comp, animation, and event reference to show up?
    3. How do you make the get owner node have "target is actor component?" Mine says "target is actor."
    Thank you for the video!

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  8 месяцев назад

      Heya!
      So that anim notify is just a quick one I made in blueprint, extending from AnimNotify. You then override the RecievedNotify function to add the gameplay event. You can expose the Gameplay Tag as a property on the blueprint to have it show up in the Animation Montage view.
      For #3, try extending from the AnimNotify and that should give you what you are after.

  • @user-ji2bf3nj4r
    @user-ji2bf3nj4r 8 месяцев назад +1

    What is the line 68 in the character component doing (12:41) AddUObject(this, &ThisClass::OnHealthAttributeChanged); ?

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  8 месяцев назад

      It's a stub function that could be used to implement characters dying if the attribute gets to zero.

  • @crispychicken143
    @crispychicken143 7 месяцев назад +1

    If i wanted to add a hit animation on the enemy u hit, what combination of gameplay effects, gameplay abilitys, and/or gameplay cues should i use? currently i have a Gameplay cue that is tied to a gameplay effect of taking dmg, and it does successfully trigger a niagara effect. however it does not play a montage i have made. is it that u cant play animations in a gameplay cue?

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  7 месяцев назад

      You could play the anim with a gameplay cue, if you’d probably want to cause an ability activation via a tag being added?
      You’d want to add the gameplay ability first, set its activation to tag add and then apply a gameplay effect that adds that tag

  • @RafaelBrum
    @RafaelBrum 8 месяцев назад +1

    Is there any way to use Root Motion Tasks like Apply Root Motion Constant Force witohout using the GAS? I just wanted to make a dash skill

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  7 месяцев назад +1

      I'm not sure sadly, you might be able to but I haven't tried.

  • @klovvin
    @klovvin 6 месяцев назад +1

    Would like more info on Gameplay Effect Executions

  • @DieGo-yt9zt
    @DieGo-yt9zt 6 месяцев назад +1

    hello.
    Is there a way to create Unreal's built-in AbilityTask in c++?
    It cannot be created because the creation function is private.

  • @Ampe96
    @Ampe96 9 месяцев назад +2

    Hi, thank you for your guide. I'm trying to follow it step by step but I'm stuck at 4:00 as I don't have almost any of your folders and files on the left as you have and I don't know where I should put the code you're showing

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  9 месяцев назад

      Which folders do you have?

    • @Ampe96
      @Ampe96 9 месяцев назад

      @@DanGoodayleUnreal under the project folder i do not have any folders, while you have characters attributes and abilities and relative files. I just have the build.cs file, the cpp, the character cpp and h and the gamemode cpp and h

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  9 месяцев назад

      Ah I see! This was all built from scratch in these tutorials: ruclips.net/video/NtSGfkPvPt0/видео.html&ab_channel=DanGoodayle, the playlist goes through the creation of each one of those files.
      You will also be able to do it by using just the standard classes you've mentioned, just needing to adapt the code I'm showing to work with your project.

    • @Ampe96
      @Ampe96 9 месяцев назад +1

      @@DanGoodayleUnreal Thanks man you're the best I really appreciate it. You explain really well in the tutorials too

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  9 месяцев назад

      Thank you! Glad to help

  • @bloodyguol
    @bloodyguol 9 месяцев назад +2

    Really nice guide, but i cannot complete SetupPlayerInputComponent function and i would love to see source code for your character setup
    i missed how playerEnhancedInputComponent was set up

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  9 месяцев назад

      Hey there!
      Thank you, for the player input setup I made this video 🫡 ruclips.net/video/NtSGfkPvPt0/видео.htmlsi=tUZMHL8-N7LZpcgy

    • @bloodyguol
      @bloodyguol 9 месяцев назад +1

      @@DanGoodayleUnreal unexpected fast reply, thank you, is there any chance that you gonna post this tutors on github?

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  9 месяцев назад

      Once I start to get a bit more time to dedicate to making these, i'll start to make some written guides and posting code to github

  • @GameDevAraz
    @GameDevAraz 3 месяца назад +1

    so, just enable plugin and code area opens up?

  • @vincebgamedev7455
    @vincebgamedev7455 7 месяцев назад +1

    07:05 if you wanna half the hp , just divide by 0.5? :D great video though

  • @tacolover619
    @tacolover619 3 месяца назад +1

    Will there be a Part 2 and possibly Part 3?

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  3 месяца назад

      Part two is up now, though it just goes over creating a gameplay effect execution, I’ve been struggling to think of what a part two would be.

  • @vincebgamedev7455
    @vincebgamedev7455 3 месяца назад +1

    do you might consider putting this project on git ? its great but hard to follow where i am lacking headers or definitions.. i know its pretty hard to keep everything in mind, for me its just a nice to have thing

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  3 месяца назад

      The latest video has everything up on GitHub 👍

  • @MarcinKolekson
    @MarcinKolekson 9 месяцев назад +1

    Do I correctly understand that if we set up the ability system just like you did, the rest is just adding more and more blueprits to fill out the game with abilities? It's a great tutorial, fast - but packed with meat!

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  9 месяцев назад +1

      To start with, yes, but to really get the full benefit you’ll want to have some c++ goodness in there too👍

    • @MarcinKolekson
      @MarcinKolekson 9 месяцев назад +1

      ​@@DanGoodayleUnreal Yeah, especially with the stats I see. I already introduced some logic how stats are percieved by my classless RPG game and how they do modify the health or base damage. I guess I will have to learn C++ a little bit more :D
      Btw: that fast replay, respect

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  9 месяцев назад +1

      Best of luck, let me know if you run into any issues or need some tutorials on other area’s made!

  • @dirtrobot
    @dirtrobot 8 месяцев назад +4

    This was pretty good but you started losing me after jumping between files without showing which was open, and never actually being able to see the full source too much pausing and squinting required. The compression is not kind to a small font. Still good stuff.

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  8 месяцев назад +1

      Thanks, yeah I started to learn how to edit better and slow things down enough in newer videos

  • @lcdcstudios
    @lcdcstudios 6 месяцев назад +1

    at 14:24 I dont see the enumerator values at all and thank you for taking the times to reply to most if not all comments it really means a lot
    after 4 now deleted edits this should be my final one, Get ability system component blueprint causes the is valid check to fail which I believe is causing the whole system to fail, also does apply gameplay effect spec's target have to be the ability system component or can it be gameplay ability because mine says gameplay ability and that also might be a failing point, also it says my health is zero when I have it set to 100 so idk whats happening

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  4 месяца назад +1

      Are you on 5.3? The ability system changed a bit and I need to do an updated video to cover it

    • @lcdcstudios
      @lcdcstudios 4 месяца назад +1

      @@DanGoodayleUnreal yes I am on 5.3

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  4 месяца назад

      The get ability system function checks for an interface on the actor, did you implement that interface?

    • @lcdcstudios
      @lcdcstudios 4 месяца назад +1

      @@DanGoodayleUnreal I don't quite remember, I put my project down at least for now. I appreciate your trying to help but it comes too late, I really look forward to your next video on GAS. Have a wonderful day!

  • @adamebadra3171
    @adamebadra3171 4 месяца назад +1

    What ide is that u are working with

  • @griffinshields2259
    @griffinshields2259 Месяц назад

    do we need the github code for this?

  • @fidel_soto
    @fidel_soto 8 месяцев назад

    I created an ability that spawns a projectile, but its only spawning on the server and on the client that fires it, and not on the other clients. Any advice as to why this is and what to do?

    • @fidel_soto
      @fidel_soto 8 месяцев назад +1

      I multicasted the function to spawn the projectile and set the ability to trigger only on the server (it calls a function on the server and this functions calls the multicasted one) but something tells me this might not be the correct way to do it.

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  8 месяцев назад

      Multicasts are likely to get dropped in high net traffic situations, replication is quite complex so giving you a one fits all solution isn’t possible in a comment BUT, think of it like this, who is the information relevant to?, the server, yes and the person affected.
      I’ll post a video in the future hiding some of the latency issues and deep diving.

    • @fidel_soto
      @fidel_soto 8 месяцев назад

      @@DanGoodayleUnreal I thought abilities supported replication like at the end of your video where your characters play their montage correctly but in my case only the player that is also the server spawns the projectile on the other client. Its even weirder because the other client does not spawn the projectile visually but the first client does collide with it when he comes in contact with where the projectile should be. I don't know if it is an issue with spawning objects or if I have a deeper flaw in the logic. (Now that I write about it, maybe spawning isnt allowed on clients and thats what the ability system is trying to do, hence the issue)
      So like I said before the only thing that worked was... the ability calls a function on the server and that function calls the spawning logic on a multicast function. That way the projectile did spawn everywhere correctly. However I'm convinced I'm missing something. Otherwise... is that really the way to do it? To set the ability to replicate server only and make it call a multicast?

    • @fidel_soto
      @fidel_soto 8 месяцев назад +1

      @@DanGoodayleUnreal So yea, I was missing something... I had to mark bReplicates = true on the projectile class. Then it all works as expected, without a multicast function or anything. Perfect.
      Once again thank you very much for the tutorial. I was finally able to grasp GAS and take my skills to the next level.
      *Thank you.* 🙇‍♂

  • @maxdashen
    @maxdashen 3 месяца назад +2

    my health isn't clamped it goes above max and below 0

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  3 месяца назад

      Post a gist of your code and I’ll try and help 👍

    • @maxdashen
      @maxdashen 3 месяца назад +1

      @@DanGoodayleUnreal It's fine I sorted it out. I'm currently hopping between tutorials so I had a few things I needed to change.

  • @fidel_soto
    @fidel_soto 8 месяцев назад +1

    At 13:51 I get errors on the line UInputAction* InputAction;
    Things that make no sense such as: syntax error: missing ';' before '*'
    I'm using UE5.1

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  8 месяцев назад

      Did you add the enhanced input module to your build.cs?

    • @fidel_soto
      @fidel_soto 8 месяцев назад

      ​@@DanGoodayleUnreal I had to add the keyword "class" in front of UInputAction*

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  8 месяцев назад

      ​@@fidel_sotooh so you had to forward declare it? You could also import the header itself (though forward declaring is usually a better idea)

    • @fidel_soto
      @fidel_soto 8 месяцев назад +1

      @@DanGoodayleUnreal ohh I see... Yea I'm using the base third person template in C++. I guess they did it like that. I also had to set the InitialAbilitySet, InitialGameplayEffect and AbilityInputBindings to EditAnywhere because otherwise it would not let me edit them, I'm guessing because of the way the classes are setup and/or inherited but I'm not entirely sure since I'm recently learning these things. If you have any insight on why this is let me know.
      Anyways thank you so much for everything. This is probably the best video on this topic. I'm eternally grateful.

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  8 месяцев назад

      @@fidel_soto so if they are edit defaults only you can only edit it within the blueprint, if you place them in a level you can only edit them with EditAnywhere

  • @HPVideoArchive
    @HPVideoArchive Месяц назад

    I see no "Tags" Category in my GameplayEffect. UE 5.4

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  Месяц назад +1

      Heya they modified the system in 5.4
      ruclips.net/video/NXucLYFOp8Q/видео.html

    • @HPVideoArchive
      @HPVideoArchive Месяц назад

      @@DanGoodayleUnreal Thank you! Pin it, so everybody can read it.

  • @Spiralexe
    @Spiralexe 6 месяцев назад +1

    seems like this systems are only for 3d and doesnt support paper 2d without significant modification

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  4 месяца назад

      I don’t know.. I haven’t tried. Off hand I don’t think it explicitly expects 2d or 3d so you may not need to modify much, maybe the targeting systems will need to be made to support 2d?

  • @BurtonPosey
    @BurtonPosey 9 месяцев назад

    I’m still watching through this, but wanted to comment that I personally find the background at the start of the video, continuing until 3:30 or so, a bit nauseating. It looks like a swirling sample of human tissue. I thought maybe it was something from Diablo 4 which I haven’t played, but out of context, it’s distracting from your great teaching content. Thanks for hearing me out 😁

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  9 месяцев назад +1

      Heya!
      Thanks for the feedback, that was paint in water just looping but I hear you and will likely use a different background in the future 👍

    • @BurtonPosey
      @BurtonPosey 9 месяцев назад

      @@DanGoodayleUnreal it might just be the color of it all and correcting it might be enough. Or playing it slower (prob. a bad idea from someone who doesn’t video edit much)? Trying it find a way not to give you more work, but I genuinely appreciate the reply and the content! Have a great one.

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  9 месяцев назад

      @@BurtonPosey ah it's no problem! I found it relaxing personally but I can totally understand it making people feel uncomfortable too, sadly didn't see that before I uploaded 😆

  • @erikidoyaga
    @erikidoyaga 3 месяца назад +2

    when is the part 2?????????

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  3 месяца назад

      Part two just went up, though I was struggling to find what to make it on 😄

  • @Youshisu
    @Youshisu 3 месяца назад +1

    I though that recommended way was to do it in BP, and I see c++ tutorial
    At least show which files you edit...

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  3 месяца назад +1

      Unless you are buying a plugin there isn’t a way to setup GAS in blueprints.
      Then recommended way I’ve seen it used in big projects is C++ with blueprint abilities as I showed 👍

    • @Youshisu
      @Youshisu 3 месяца назад +1

      @@DanGoodayleUnreal yes, thanks, I was unaware of that until I saw everybody do it :D

  • @Nightxcloud
    @Nightxcloud 2 месяца назад +1

    This is a lecture bud not a tutorial

  • @maiworld_
    @maiworld_ 9 месяцев назад +1

    what's your opinion on the GAS companion in the Unreal marketplace? do you feel it is helpful in using this?

    • @DanGoodayleUnreal
      @DanGoodayleUnreal  9 месяцев назад

      I haven’t used it, so I don’t have an opinion on it.

    • @stabbedbyapanda
      @stabbedbyapanda 7 месяцев назад

      @maiworld_ Did you end up using it? I recently learned GAS is mixed with C++ and was looking at that plugin as well

    • @maiworld_
      @maiworld_ 7 месяцев назад

      i do have the plugin now, but to be honest i haven't used it much. if im not mistaken the plugin essentially brings the C++ side of things into blueprints so you don't have to touch C++ other than intial setup. but to be honest again, i dont really know becuase i never r3ally used it, at least not yet @@stabbedbyapanda