Unreal 5 Ability System

Other than the Lyra project are there any other “current” projects or tutorials for using the Ability system in UE5? I want to use the basic GAS system in UE5, and use it in only blueprint. Most of the tutorials cover the old UE4 process that required a lot of C++.

I created a basic new input action for testing, but my problem is the best way to link the new input action to an Ability (or all abilities). The goal is to be able to add and remove from the player as needed.

Should the abilities be called directly from the player actor? I assume in Lyra there is a lot of backend C++ code they used for building their experiences.

Hey there @Magnum164! Even after the updates GAS still requires some C++ to set up, though there’s some resources to mitigate it, expose things to BP so you only ever have to touch the C++ once, or walk you through the initial setup.

Disclaimer: One or more of these links are unaffiliated with Epic Games. Epic Games is not liable for anything that may occur outside of this Unreal Engine domain. Please exercise your best judgment when following links outside of the forums.


GAS Associate plugin:

To mitigate it, the GAS associate plugin more or less does the early C++ setup for you and exposes it to BP immediately, though you have another tutorial series to watch because it does have custom nodes:


If you would prefer to just learn the C++ setup without the plugin here’s a tutorial on that:


Lastly, documentation that I’m sure you’ve already seen but it can’t hurt to post!

Docs:

Other sample project:

Thanks, I have looked at about every one of those and they are way out of date. I follow the C++ tuts and the C++ changes are already made in the code and exposed to BluePrint. That is why I assumed it was mostly updated/added. It’s been years since I delved into C++ and since retiring after 32 years in the space industry, I kinda want to just sit back and no-code a bit:)… Looks like some of the other alternatives will have to work. Lyra is good, but overkill for what I need.

I completely understand! I’m a developer by trade myself, but much prefer to just sit back and design. Blueprints are just so relaxing to work with, until I get to a system I actually need to deal with lots of data, then it’s back to the IDE haha. That said, the GAS associate plugin is updated to 5.1 so (I believe) it should follow all of the new conventions. I’ve been meaning to dig into it myself but my current main project is VR and it’d be overkill to use it there.

Please let me know how it works out for you! If it is as intuitive as it looks, it might be good for me to write up a written tutorial on implementing it for the learning platform!

Yes, the GAS is updated in 5.1. With the one line change to the C++ code you add to the Game.Build.cs Dependency “GameplayAbilities”, “GameplayTags”, “GameplayTasks” the Plugin works and only needs implementation links, only problem most of those are done in the tuts by C++, rather than BP. But I should be able to work it. But it is not something I have to have, BPs make quick prototyping possible and this might just help out that some.

My problem is Epic keeps rolling out new Features and I keep going down Rabbit holes going, Kool this is neat :)… Yea, staying focused is hard in retirement, but I have to keep focused on my dream/goal…

Thanks, Will give you a shout if I get something working even if it is pseudo Abilities.

BTW… The Action RPG is a good example, but so much has changed in 5.1.

1 Like

Why don’t you want to use Lyra? Its implementation of GAS is really solid.

You can mostly use Blueprints with Lyra. A few things do require small amounts of C++ but that is rare.

Hey! @Magnum164 : )

I have a project called Project Elementus that was initially build as a template with GAS, Enhanced Input, Epic Online Services, etc. already implemented as modular features. All features were implemented in C++ and exposed to blueprints.

And I recently moved all the contents of this project to a new plugin with modules. As a plugin, it is easier to organize, update and insert the content into already existing projects, facilitating maintenance and usability.

Links:

Notes:

  • Unfortunately, due to being a solo project and not having had enough time (due to studies, work, and other projects), I cannot say that it is a project that has already been completed. Lately, I haven’t been giving it as much attention and haven’t created any documentation. However, a lot has been implemented, and the project itself already has some ready-made examples on an interactive map.
  • The project elementus repository has a separated branch using the modules plugin (with all content already moved): lucoiso/UEProject_Elementus at development (github.com)
1 Like

Oh amazing work @lucoiso! Would you mind if I link that Project post in the future for other users maybe looking for a good start to UE5 GAS? I think it’d be an excellent resource for them in the future!

On a totally unrelated note, are you also accepting PRs?

1 Like

Hello! You can link it, I would be grateful to see one of my projects contributing to the learning of other users! : )

And yes, I do accept PRs, contributions are welcome!

1 Like

As you said it’s implementation is Solid, but there is lacking in documentation on how to duplicate it.

My other issue with Lyra is it is bloated, after a few simple changes and running in PIE it crashes about every 3rd run. That being said, I do keep it loaded and check for updates, it seems the latest update has fixed the memory error and crashing I was having. But my main reason is if Lyra uses these plugins, why can’t they be made available in UE 5. Which it seems that is Unreals goal as it is mostly implemented in 5.1, if not for a lack of updated documentation. I would rather build onto something, than remove 90% of it before it is useful.

1 Like

:slight_smile: may look at it if it has a completed build. But it’s been 4+ months on updates, so it is probably out of date. Not being rude, I appreciate the input but it seems Unreal has been making the plugins accessible without the user doing C++, especially now that Lyra does it.

Every example/Tutorial that I find that states to make changes in C++ when I pull the files up to modify in 5.1 is already implemented in the code. Only change not is the plugin xxxbuild.cs file for adding the dependencies. After that all of the BP’s the code changes in the tut’s show to add are already there. I am so confused:):slight_smile:

Hmmmm… Maybe I need to download 5.2 and see what they have changed as well.

2 Likes

I need to also add that upgrading to the new engine updates with Lyra may require manual C++ changes due to deprecation of features in the main engine. One of the biggest issues we had working for a Fortune 50 company when we needed to update existing software for what we needed (CAD, PLM and integrations). Generally we spent a LOT of money and time testing the new updates to see what broke in our workflow and a lot of times it required us to skip several updates as errors were introduced and removed.

1 Like

Certainly, updating your base implementation is always going to be some work. Then again, hopefully that also provides more benefit to your game than the work it required from you. (And if not, you can always decide to stay on an old version, though this essentially dooms your game IMO).

I started with Lyra in 5.0, updated to 5.0.2, then to 5.1 and now to 5.2. So far each upgrade has been relatively easy. I documented how I’m doing that on my dev notes.

There is another dev, @BastianDev, who is working through Lyra with the goal of working exclusively in BP. He has made some excellent tutorials along those lines.

If you’re maybe possibly considering Lyra if you can do it without C++, check out his stuff:

1 Like

Thanks, and I agree. I can stay with the current version. I actually just realized your links, I followed one of your Tutorials about creating the Ability system in Lyra but in a basic UE5.1 project and got it 90% working which is what prompted me to ask my questions.

I am the type of hands on learning, learning by doing so your typed tutorials work great.

2 Likes