Download

Able Ability System Info and Support Thread

Perfect, Thanks Jesse!

So, in your video, I never see you hit the “Play” button in the toolbar at the top once you select your Animation (which causes the Ability to play itself). Automatically playing the animation after being selected could be done, but it could be a bit weird because people may not want to automatically play the ability just because you swapped an animation.

I didn’t get any audio in your video, but I assume that’s your issue? Or am I misunderstanding?

Have you got fb or discord??
I did press play

Does not change at all so deffo something wrong stays as same anim. :frowning:

I saw you change things to dynamic montage from Single Node, if you keep it at Single Node, does it work as expected? There may be something with the montage system.

Hi doesnt work on any settings

I’ll PM you, if you can send me your project I’ll run things locally with a debugger and see what’s going on.

Ok but i it does same on new project also

What version of UE4?

Right i tried it on UE4 4.20 / 4.21. Installs fine.
I can view animations and all in single node its fine, I can even use it in game.

Since we going in circles here, Its nothing to do with the function of the plugin as it works fine.

Its choosing an animation and problem is swapping to another animation in drop down.
I click on another animation but it just does not change, I tried it on new clean project and same thing.
I uninstalled the plugin from epic games and reinstalled it again.

Its the drop down box that does not change animation.
The only thing i gotta do is to remove animation and add animation and choose another one this way.

Can you try it out matt and tell me what happens when you try and change animation.
Check photo below
Add able file, Add task, Play animation, Pick an Animation. Highlight the animation bar.
Click task propertys then under animation pick a new one from dropdown.
Please tell me if it changes at your end.

I am using 4.20/4.21 and both clean projects.

Yup, I can do that this evening and report back. That helps clear things up a bit. Thanks Jesse, sorry for all the back and forth on this.

thanks for getting back to me, Its fine I know your busy with this new update!
Looking forward to this. IF worst comes to worst, I can just do montages for them all and change the anims in montage if needed. Speak soon
J

So, I wanted to give a bit of a background / roadmap / status update on Able 3.0

[SPOILER]

Every new year I try and update Able with some large change that came out of feedback from the previous year. My own projects, which I use Able on, have recently moved more towards crafting AI behaviors, so I’ve also wanted to wrap in some things I’ve seen to help quickly craft AI behaviors without leaving the Ability Editor.

For this year, I came up with these priorities.

  • Editor flow (particularly around setting the preview asset).
  • More tools to help craft abilities and test them in the editor (specifically around AI abilities).
  • More Movement based abilities (pretty consistent user request).

So, here’s the current roadmap / status report:

  • UI Refresh

  • Able is getting a hefty UI update. While some elements won’t change, the Timeline section and Toolbar are both getting updated art assets and layout changes to be more explanatory at a glance. Icons will be getting looked at as well (by an honest to God artist and not just my horrible programmer art).

  • Progress : **Ongoing **(lots of iteration with the artist right now).

  • Target Actors Added

  • In order to better test your Abilities, you can now place one or more “Target Actors” which is simply an Actor asset you can point Able to and spawn 1 or more in the scene, much like the Preview Asset. Want to test an AOE? Spawn a bunch of Targets around your Preview Actor and watch what happens. You can reset the Target Actors back into their initial state/position at any time (or automatically after each ability play). You can also force your Ability to target a specific Target Actor while in the Ability Editor via a simple drop down list.

  • Progress: Completed

  • Transform Tool Support

  • Translate / Scale / Rotate both the Preview Actor / Target Actors using the normal transform widget. This makes placing Target Actors and moving the Preview Actor trivial.

  • Progress: Completed

  • Move To Task

  • A simple task that moves one actor towards another (using the Navmesh or simple physics).

  • Progress : **Ongoing **(Still investigating all this entails and how to properly expose all those parameters in the best way).

  • Jump To Task

  • A jump/leap task that allows one actor to jump towards another. Physics driven.

  • Progress: Ongoing

  • User Task Color Customization

  • Users can now modify the colors for Tasks in an Ability. This is per Ability (not global) as different designers may prefer different color schemes (especially in the case of color blindness).

  • Progress: **Ongoing **(Should be a 1 line change, just need to put it through its’ paces).

  • New Preview / Target Asset Selection

  • Instead of the previous, rather ugly, modal dialog; there is now an Able Editor setting which contains the list of valid classes for each asset (Preview Asset Classes, Target Asset Classes). The Ability Editor toolbar has a simple drop down list that will filter your assets based on those classes and you can select the appropriate asset.

  • Progress: Completed

  • Investigate using Delegate Bindings (e.g. UMG’s model) rather than Function Overloading for dynamically providing parameters.

  • This was a very interesting user request. This would do away with lots of the various “OnDoSomeEvent” model I had been using and switching to using something more along with the binding system UMG does for all it’s properties (see https://docs.unrealengine.com/en-US/Engine/UMG/UserGuide/PropertyBinding ). There’s definitely some pros and cons here (including one big con that it will likely be incompatible with previous Able versions unless I come up with an upgrade script to transfer existing logic to the new paradigm), however it would basically allow users to override most fields without requesting me to add some callback - I’d love to hear any feedback while I continue my investigation. Very likely that this will get pushed out to the next update so I can fully investigate it.

  • Progress: OnGoing

[/SPOILER]

So, that’s the peek behind the curtain. I think people will really enjoy this update once it’s ready to go out (no ETA, lots of things are still in flight and I want to really hammer on this before it goes out).

Hi, I’m making an ability that spawns a projectile actor that homes on my targeted actor. I have everything working, except I would like the damage to be applied when the projectile collides with the target actor instead of once the projectile is spawned. What would be the best way to go about making the damage wait to be applied until the collision occurs?

I want to know how good/useful this plugin would be for making an over the shoulder third person action shooter with a level system (Think The Evil Within 2 but with stats and a level system). First question is how easy is it to integrate into a project that has assets/BP/Animations/levels/etc already in it or would I have to start from scratch? Since I’m a solo dev with absolutely no budget I won’t be able to buy the plugin until my games prototype is finished so I can apply for 2 (hopefully) 50k dev grants. Limb damage? I mean as dynamic damage to certain parts of an enemy’s body ( for example you shoot an enemy’s hand the hand falls off and only does 8 damage to the enemy’s 500 HP). How janky is gameplay made from this plugin out of the box? (Without tweaking). Does this work for character Interaction? (Pushing buttons, picking up stuff, activating UI such as diegetic UI, etc) How complex is it to learn? I’ve tried Character Interaction from the unreal marketplace but it’s super complex, not as documented as it needs to be as well as being janky. The big broad question is would I be able to make a complete game system (Shooting, different weapons/weapon types, movement system/basic vaulting and climbing up ledges, different types of enemies, swimming, I don’t mean like animation, texture, 3D model, jank I mean just how the system works) using this plugin? This has been a ton of questions so sorry I’m just confused on what exactly this plugin is for.

Can you explain custom task better please?

You could just use the “On Actor Overlap” on the Projectile to apply damage (or even run an ability that plays some effect and applies damage there). Basically just treat it like a normal projectile.

Custom Task is a pure Blueprint driven task that behaves like it’s C++ counter parts.

You can override / use various BP methods to build the task:

  • OnTaskStart is called when the Task begins. You would want to do any task setup here (You can use GetActorsForTask to get a list of all actors your task should affect according to how the user set it up in the ability editor). If your Task is just a single frame, you’d do the logic here as well.
  • OnTaskTick is called when the Task is running.
  • OnTaskEnd is called when the Task is completed. You would do any clean up logic here, if needed.
  • IsDone is a logic check, that by default, just checks if the task time has been met but you can add special logic.
  • IsSingleFrame let’s you return true if you want the task to be a single frame (so OnTaskTick won’t be called), or if it’s a multi-frame long task.
  • GetTaskRealm let’s you modify what realm you want the task to be (Client, Server, or Both).
  • CreateScratchPad let’s you return a UAblCustomTaskScratchPad based class that you can use to store any state information (various variables, actors, etc). These scratch pads are allocated per ability execution.
  • GetTaskCategory is what category you want the task to appear under in the Ability editor (you can use ‘|’ to do sub category: MainCategory|SubCategory).
  • GetTaskName is the name of the Task in the Ability Editor.
  • GetDescriptiveTaskName is a more elaborate version of GetTaskName that is built at runtime when the Tasks are placed in the Ability Editor (e.g, “PlayAnimation:<animation name>” is the descriptive name).
  • GetTaskDesciption is just a one or two line summary of what the task does. This appears in the Task selection dialog at the bottom of the window.
  • GetTaskColor is just the default color you want to assign to this Task.

Able isn’t going to do movement / pushing / etc for you. It’s more a tool you can use to help tie animations / sounds / particle effects / damage all together into a single discrete asset - which we normally just refer to as “Abilities”. While you can certainly do a shooter with Able (I even did a quick tutorial using Shooter Game, you can see the tutorials here ). I will say your goal is rather ambitious, and no one tool is going to help you cobble it together. Instead, you should take things step by step. Follow some YouTube tutorials on building a 3rd party action game, add features (vaulting, climbing, interacting with buttons, etc). Don’t try to run before you can walk. Instead, eat the elephant bite by bite.

Thanks will look into it after work. Just need to sort out what i want to do. Plans all over the place hehe

hehe Another thing i noticed
in Graph in able, cant use Get all actors of class! ><

That is by design because Abilities aren’t level blueprints. You shouldn’t be using Get All Actors of Class. You instead want to use “GetActorsForTask” which will return the actors your Ability has targeted.

Right… So i can output actors into character bps. Lol making a supernatural game atm. Got so much involved. Its based on supernatural tv show but not got main characters. Its all based around datatables. Got most of it to work like enter devils trap if a demon it will stun them until it passes a d&d style check behind scenes on tick. Spirits cant leave the area unless pc or npc picks up item holding them there and can stay around nav mesh then functions like haunt can do stuff. Complex stuff but getting things to work in development level. Demons in non possessed beings atm is swirling tornados of black smoke and can pass a dice roll to possess pc and npc. Fun project but based around char bp and npc bp.