Able Ability System Info and Support Thread

Able 3.0 has been submitted. Notes / Overview below:

3.0 is a monster that touched pretty much every part of Able (and definitely the Editor aspect). Overall I’m happy with how much cleaner things are (both visually and under the hood) and the ability for users to customize Able to their specific needs has never been better. 3.0 started as a 2 week re-skin but became a 3 month beast but hopefully people get lots of use from it.

That said, I expect bugs. I wanted another week or two of bug fixing but 4.22’s released forced things out a bit quicker than I expected. I’ve tested things as best as I can, but you guys will likely hit issues I just don’t have local tests for. Please be patient and let me know as soon as you find something. I’m already working on 3.01 with a few more art tweaks and such, so hopefully now that the meat of 3.0 is out, I can be a bit quicker on updates. I’m also pushing out the marketing refresh (store page and such) I wanted to do until Able 3.0 has a bit of time to cook out in the wild, so bug fixing is my entire priority.

Thanks for all your support and keep the feedback coming!

Hey @Leyawhin Thanks for the compliment and for your purchase.

I’ll try and answer all your questions / problems:

  • That makes sense, I can add Cotext Refreshing as an option. Obviously you can save some time by not re-doing all the context logic, but that may not be ideal depending on the Ability.
  • Validate shouldn’t crash if there aren’t any Tasks (I swear I fixed that recently). I’ll check again.
  • The SKEL is the Blueprint Skeleton, it shouldn’t be showing up - I’ll make sure that filter is still working.
  • This is actually a great case for the new Dynamic Field Overrides. I can add the option for you to overload the Transform field of the Raycast so can simply pull that location via a small blueprint method.
  • Animation does currently require an actor I believe. But I’ll look at adding a “Play Sub Mesh Animation” or some such.
  • There is an event that is called that passes the Raycast result (OnRaycastEvent) where you can spawn the Particle Effect. I’m hesitant to just add that in the default logic as it seems very game specific. Linking output from one task to another is an interesting concept. I’ll put some thoughts into that and see if there is a clean way to do it.


I’m happy to see the plugin being expanded, but as of now using it for anything other than prototyping is impossible due to countless bugs and most of the stuff introduced in earlier versions simply not working.
Consider hiring a second programmer to help you work on that end too.

I just found out the hard way (by debugging the code) that Channeled abilities do not work. They do channel but they can almost never end because if the condition is checked during an update (and it always is since the logic is implemented in AbilityComponent’s Tick) it will try to CancelAbility, will defer that action since it’s during an update, and will then fail to cancel the ability since right on the next line you are nulling m_ActiveAbilityInstance. So a frame later when Component is trying to cancel the active ability due to channel condition failing, there is nothing to cancel because you nulled it.

I mean, the overall effect in game does look like it’s cancelled, but the ability itself never got any info about this since nobody called “OnAbilityEnd” or “OnAbilityInterrupted” on it :/.

To reproduce:

  1. Make a channeled ability that for example, sets up a bool to true in OnAbilityStart.
  2. Set the bool back to false in OnAbilityEnd/Interrupt
  3. Add **CUSTOM **channel condition to the ability, can be anything Im pretty sure.
  4. Play the game and either print out the bool or do something to indicate it’s state

Result: The bool will never get unchecked.
Expected result: Bool will be back to false once the ability cancels due to failing custom channel condition

Thanks for the bug report/repro. I’ll look at this. I recall fixing something eerily similar to this recently. And I agree that Able is due for some maintenance/bug fix work. Now that the big “new features” patch is out, it’s bug fixes for here on out.

The bool has to be setup on an owning actor. I forgot to mention that. Basically on something outside of the ability. It can be the target of the ability or instigator. Since you can’t setup variables at runtime on the abilities itself, as they do not exist in the world as separate instances

I see what you’re saying. Definitely a bug.

You can fix it by moving the “m_IsProcessingUpdate = true” line to before the “Update our Active” comment (line 150 in UAblAbilityComponent::TickComponent).

    m_IsProcessingUpdate = true; // <- Moved from the top of the method to just before our updates.

    // Update our Active
    if (m_ActiveAbilityInstance)
        // Process update (or launch a task to do it).
        InternalUpdateAbility(m_ActiveAbilityInstance, DeltaTime * m_ActiveAbilityInstance->GetPlayRate());

Thanks for submit matt.
Just discovered i can use bpi with it? :o
Most powerful feature in ue4…
Cant wait now to use them

I need to re-submit the update tonight due to a packaging error on PS4 (it’s just a missing include) so I’m going to sneak in a few fixes for @Pablo1517 before I re-submit.

Is this what the new update is supposed to look like? Because I can’t really see it well. I also cannot pick a new preview asset or target asset because the list is always empty and the search comes out as “no results, check your filter”.

Same as above

Not only the problem above,it even can’t compile in shipping mode.Fortunately,I have backup the able plugin.The old version is all right.:stuck_out_tongue:

(Tagging @jwyuen @xermao as well).

Hmm, not sure why the background is missing. What engine version are you using?

The Preview Actor work flow has changed. You need to add the classes you want to use to your Preview Actor Allowed Classes in your Able Editor Settings. This is to greatly speed up the loading of potential preview actors from the drop down. Have you added those classes?

Can you give me the shipping mode error? Plugins are compiled in shipping mode before they are released to the public, so I’m curious what error you could be seeing.

What classes do i have to add?

I probably should have been more clearer in my instructions, so I’ll lay things out how the new drop down system works:

The new system no longer uses a wizard to help pick a Preview / Target actor. Instead, it uses a Whitelist of classes that are defined in your Able Editor Settings to decide which Assets should appear in the new dropdowns on the Toolbar.

So, if the characters in your game inherit from Pawn, or Character - you can add those to your Able Editor Settings “Allowed Classes” under Preview Target - and only assets that inherit from those classes will be shown. This helps filter out other actors like Static Actors which caused a HUGE delay when opening up the Content Browser to select the assets. If you don’t know what your Character’s inherit from (which seems unlikely…) you can just add Actor and that will pick up just about everything (while still filtering out some unwanted content).

EDIT: Also I found the shipping error and missing assets. No idea how that made it through the pipeline. Fix incoming immediately.

Hi Matt, I am testing out this new version now.
Yes the colour of the timeline is white like above.
I have tried adding target character to class but it does not add character to scene for some reason.
Also Jump to and Move to does not work at all. I know you said you will be working on it but thats just confirming.

Are you sure your Character inherits from ACharacter? As I said, you can just toss in Actor or what not and it should pull everything.

Jump/Move To will not work in the Editor unless you set it to use physics and have a valid target setup. I’m a hair’s breadth from just removing those. I doubt I can get them to work generically for projects (which is why I was so hesitant to add them in the first place), but we’ll see.

The white bars and such will be fixed soon (about to submit the update).

Alright, update submitted and hopefully it hits later today. Again, sorry for the issues.

I know I’m super frustrated with this update (probably should have just taken the extra month of testing) so I can only imagine the frustration on the user end, but it does have some very good fixes and features so I ask for your patience while we hammer these things out.

Thanks. Btw tried updating it all to 4.22… Didnt work and lost most of it >< cry. Still got my data tables and anims luckily so redoing it all now and make it tidier. Should of backed up.
Gonna do bpi and ac more tidy now

Use Perforce. Takes two seconds to setup (you can easily find tutorials all over the web) and will save you lots of heartache.