Able Ability System Info and Support Thread

Can you elaborate? If you are using a binding on the Branch Ability, the Ability you return from OnGetDynamicProperty_Ability will be the one that should be branched to.

Able was written as an alternative to GAS (because GAS at the time had almost no documentation and the editor wasn’t meeting my needs). As for the rest of your question,it’s hard to say. You can definitely create a Custom Task that simply modifies the character’s max speed on the server/client (no RPC necessary) - but Able has no effect on your character movement code and how it handles corrections.


I’m getting a fairly consistent issue when using this system. After I create a blueprint ability based on AbleAbility, save and quit. My editor crashes without fail on each subsequent launch. I can only resolve the issue if I go into the file system, and delete the Able Ability I created. Here is the log:

UE4Editor_UnrealEd!FBlueprintEditorUtils::IsDataOnlyBlueprint() [d:\build++ue4\sync\engine\source\editor\unrealed\private\kismet2\blueprinteditorutils.cpp:3114]
UE4Editor_Kismet!FBlueprintCompilationManagerImpl::FlushCompilationQueueImpl() [d:\build++ue4\sync\engine\source\editor\kismet\private\blueprintcompilationmanager.cpp:485]
UE4Editor_Kismet!FBlueprintCompilationManager::FlushCompilationQueue() [d:\build++ue4\sync\engine\source\editor\kismet\private\blueprintcompilationmanager.cpp:2554]
UE4Editor_Engine!UBlueprintGeneratedClass::ConditionalRecompileClass() [d:\build++ue4\sync\engine\source\runtime\engine\private\blueprintgeneratedclass.cpp:234]

Maybe related, I cannot clear the Preview Asset after I have selected one. No matter what I do it stays in the view. Any way I can work around these things?


yes that is correct. but the return node does not work at all. In the graph the branch node is null, and will not play any animation unless i set an ability to branch to directly. the binding, even if set directly in the return node does not work. The timeline only reads the static value it will not read any return node. - Bound Ability Branch Blueprint - Timeline

Thanks for the additional details, I’ll dig into that.

Is there anything created in the Ability? Or is it just blank? If possible, can you make an Ability that shows this behavior and upload it here?

For the Preview Asset, you should just be able to hit the Reset Preview Asset button. You can also directly set it via the Ability Editor Settings (and then either re-launch the Ability Editor, or hit the Reset Preview Asset button).

Thank you for the reply.

For the ability, I have reproduced this both with a blank ability and one with a couple of tasks in it. I uploaded one of them for you. My workaround right now is to move the ability files outside of the project, launch the editor, and paste them back in. Although this works for now, I have to re-link them in my character blueprint variables.

For the preview asset, I have a sneaking suspicion that this is what is causing the above to happen with the crash. I have tried clearing it in the following ways:
1- Reset Preview button.
2- Selecting the dropdown where the preview asset is, and selecting “None”. I
3- Going to editor settings and removing the list of allowed preview assets, then repeating any of 1 or 2.

I have also tried reinstalling the plugin, deleting the abilities, and remaking them. In this instance, what happened was the editor loaded and asked me to select a type as a preview asset, but after selecting a completely different asset, the original asset that was stuck in the preview window was still there.

Let me know if you need more info.


Edit: Forgot to mention that the preview asset I have on screen cannot be interacted with. ie: It does not move when animation task is set, I can’t select it to move it around, etc. It’s just visible.

Thanks, I’ve grabbed that file and I’m going to start investigating. What Engine version btw?

This is on UE4.22

Gotcha. I’ll have access to 4.22 tonight, so I’ll check then.

I ran things real quick on 4.20 and things seem to work fine with the Preview Asset. Refresh works, etc.

Does the Actor you are trying to use actually have a shape component on them (capsule, sphere, etc)? And once you click on an entity, you need to use W/R/T to change to Translation, Rotation, Scale. I’ll make it default to translation upon picking an actor to make that a bit more transparent.

Potentially related to OllieWilliams issue. After I updated the plugin, my preview asset no longer functioned. It was stuck on a skeletal mesh that wouldn’t display. Attempts to adjust it in editor settings didn’t work at first. I had to open the Editor Settings tab, add the class I wanted to use then select it in the preview asset. At this point my editor crashed, when i loaded it back in all seems to be functioning as expected. Engine version: 4.21.2

Weird. Maybe that’s the key, changing it through the Editor settings. I’ll give that a shot.

Yes, the actor I originally selected was a character blueprint I had created. It has a camera, capsule, animation BP and mesh.

When I created the first ability in this new project, I was prompted to select an asset type and then specify which asset as the preview one, like in the past versions. I selected that character BP. From then on, regardless of what I attempt, that specific character remains on screen. Even when I specify no assets in the editor settings, or refresh from the top menu element. That asset that is shown I cannot select or move or rotate in any way as well.

The crash happens when I load the project with these abilities in the content folder of the project.

If possible, are you able to upload your project (using that same link you uploaded the ability to)? That will give me the best repro and help narrow things down. You can just zip up your project file (skip the binaries folder, Source/Config/Content and the uproject are all I need).

The upload is secure and I treat all projects with the utmost secrecy and privacy.

No problem. I’ll make a new project for this because my Content folder is 60 GB atm. Will upload to you once I repro.

Awesome. Much appreciated.

Potentially a bug. When I use a preview asset that doesn’t have the ability component the preview will not play and fails silently except for a log warning.

The log produces the following:

LogAbleEditor: Warning: Unable to find an Ability Component for Actor class BP_Character_C, one has been added temporarily. Please fix the source asset.
LogTabManager: Warning: Cannot spawn tab because no spawner is registered for ‘CompilerResults’

This may be intended behavior, but thought i would report it.

Plugin version 3.02
Engine version 4.21.2

Likely your Blueprint Character got re-generated but the component wasn’t re-added. The fix is to actually add the Ability Component to the character. I was actually tempted to remove the “Auto add component” logic and just pop up a warning message box. Adding components at runtime is nasty business.

This makes sense, I am not concerned with the functionality. I just wanted to report it in case it was indicative of some other issue that you wanted to track down.

I appreciate it. I’m going to likely go the 2nd route and put the pop up so the error is known to the user and not “hidden” in the log.

The project was uploaded. The Able abilities are under Content/Spells. There are only two of them. You can cut them out to launch the project and avoid the crash, then paste them back in to open them.