Able Ability System Info and Support Thread

If the actor is getting cleaned up while the Ability is occurring, that could cause it. That’s the only other thing I would check - but if this is on the Player, it shouldn’t matter. I’d put some Nullptr checks on the when you create the context, maybe add some logging that shows up if the Ability Component you are passing in IsPendingKill or null.

Hey ,

I was wondering if there was any way to modify ability cooldowns after the ability goes on cooldown.
The use case for this being, reducing cooldowns as a reward for certain actions being taken, like scoring additional hits on the enemy.
I see that on the ability you can override the CalculateCooldown function but as far as I can tell that’s only called when the ability is activated

I’m working on a gravity well ability and need to reference the ability’s owner and the targets picked up by the collision query in the ability’s blueprint. I’m trying this method, but I’m not getting any results.

Correct, it’s currently cached for performance sake. I can add an option to always recalculate it in the next update. That’s an easy, simple add.

I’m not sure your Attract Custom Event will work given that its trying to reference a parameter passed in by the OnAbilityStart which isn’t going to be valid since its not coming from the OnAbilityStart call. If you use the Custom Event Task, it passes in the context.

Thanks !

Thanks !

Ok. I now have an input pin for an able ability context reference, but I don’t see how it would know it’s referencing the context of this ability specifically.

Ah, I see the problem.

When you select “Fire Event” and give it a name on the Collision Query, that calls “OnCollisionEvent” and passes that name along. It doesn’t actually make an “Event” as you see in sometimes Blueprints with things like Input and such.

So, you simply need to add an overload to OnCollisionEvent (which will pass you all the info you need).

Ok. Does the Custom Event task work that way instead?

Also, I’ve been able to add/remove ability tags to a character through simple means like a button press on the left image, but an ability with the Set Tag task doesn’t do the same.

Custom Event uses the same paradigm, there is an “OnCustomEvent” method that you can overload and is called when ever you have a Custom Event Task. The name of the event is passed along with the event.

I actually cover a lot of what you’re trying to do in my Chain Lightning Tutorial:

That might have been the tutorial I haven’t done yet. I’ll check it out.

Do you know the solution to my other problem with the ability tag?

I don’t quite understand your issue, looks you have it set properly on all the images you showed.

On one project, that setup was working fine for applying tags. On this one the tag never gets applied through the ability, but it can be applied in other ways. I was hoping you’d come across that issue before.

Nope, I’ve never seen that before. Sounds like you may have a weird config file that isn’t properly referencing the Tags outside of the Editor. I’d make sure you have the tags properly setup in your project options / tweak some setting so it gets re-saved, and try again.

Odd. The problem fixed itself after restarting Unreal.

2 problems:
1- the ue 4.18 stock engine crashes when ability is using sweep cone 3d query 2d doesn’t crash.
2 - quite big. when using dynamic montage as part of ability when the ability ends, no matter what the blend time is in montage or in ability it blends until certain point and then it just TEAR and isntantly jumps into animgraph. when im using anim montage directly they work juat fine. when using tchem as part of ABLE they just break a little. any idea on a fix for that one? also at end of montage it rotates me toward control rotation. not smoothly as my animgraph and setup should… just teleporting to the rotation.

Weird… Not sure why 3D wouldn’t work… The only difference between the two is a bit more math. But I’ll check it out.

Dynamic montages are weird - they’re effectively “Fire and Forget”, I really suggest you use the Ability Animation Node if you can as it gives you far more control and will automatically blend between ability animations.

Able is causing my project to crash when I test it in a standalone window.

See this post on how to fix that (requires Engine source):

https://forums.unrealengine.com/unreal-engine/marketplace/113222-able-ability-system-info-and-support-thread?p=1411553#post1411553