Able Ability System Info and Support Thread

Sorry to bump, but is that OnServerActiveAbilityChanged issue a bug? Seems like the desired effect is for the server to be authoritative, which it seems to me means that the client should not be checking the conditional and potentially failing to activate the ability that the server activated.

I haven’t gotten through it yet - but I doubt it, it’s likely there for a reason given that code hasn’t changed in a long time and lots of other projects seem to be doing okay. If you want to locally change it while I continue to investigate - you’re more than welcome.

Perhaps others aren’t using activation gating logic in their abilities CanActivateAbility that rely on checking data outside the ability itself(such as replicated variables on the owning actor). The problem becomes apparent pretty quickly in that sort of case.

Edit: I am running with the flag I mentioned now and things are working much better now.

Eh some do, I believe. But yea, it could very well be a bug. I’m just not quite comfortable yet with shipping that out to everyone without a few more tests. :slight_smile:

Introducing over 200 of the best gambling games
The more you play, the more you will not be bored > > > slotxo

Minor bug that leads to a mismatch between stuff like collision offsets and the visual model. In FAblAbilityEditor::Tick, I had to comment out the call to

    if (UMeshComponent* MeshComponent = m_PreviewActor->FindComponentByClass<UMeshComponent>())

Because it was causing the offsets and such from collision query locations to be wrong if you are using a model that has relative rotation on the mesh component. I was getting inconsistent query results in game due to dialing in the position of queries with the debug rendering enabled being inconsistent with the model orientation at runtime. Comenting out that line got them agreeing again. There may be a better way to orient the model in the able editor.

Yea, admittedly the mesh rotation is a hack. The better fix is to put any rotation into your blueprint character. I’ll see if I can’t figure a better solution there though.

What is the purpose of this rotation in the Able editor? Is it just to have it face into the default view of the editor camera? Couldn’t you just rotate the actor rather than manipulating the MeshComponent of the actor?

Normally the actor itself is pointing down X (if you add an arrow component, you can see that). However a bunch of the default meshes in UE4 are authored to point down Y and so required a rotation to make it match the direction of the Actor. Again, this is a non-issue if you author your mesh to point down X, or you setup the mesh component in a blueprint actor and Able can just instantiate that rather than trying to cobble together an actor from bits and pieces (e.g. just a static mesh).

Submitted Able v3.16, notes below:

As always; please let me know if you run into any issues.

I suggest to make the preview component rotation yaw -90 by default. all the assets on the marketplace are setup like this. if you don’t do it, its gonna make a terrible first impression after buying the plugin.

The animation arrow button “Use Selected Asset From Content Browser” is not working. drag and drop neither and even selecting it manualy doenst work. (4.23)

it just works if you select the animation when you create the task. that means you allways have to type in the name manualy or copy it in and then you can not change the animation unless you remove the task and start over again. its driving me crazy. especially if you have tons of animations associated to the skeleton you work with. its a real workflow issue to me.

Update: It does work with montages.

here is an other bug:
when renaming abilities while having some open will cause crashes very fast as soon as you do a few clicks somewhere. its a very reliable crash. can get it crash under 1min but still found no pattern to reproduce it. sidenote: the abilities have branches but they do not reference on of the renamed

here are a few questions:

  1. i tried to get a combo working with animations that transition when they branching like in the combo tutorial video. so i setup the state machine like in the tutorial on the documentation page. but even tho he plays the animation in the state machine there is no blending at all. same result as normal animations or montages. i tried to uncheck stop on interrupt because i thought it might just cancel the animation but it didn’t do anything for this case. is there any hidden checkbox, or a hidden setup in the anim blueprint that i might have missed or is this be a bug?

  2. is there any way to debug the targeting? i didn’t got the turn to task work with the targeting, always resulted in wired rotations. i got it working with a collision query task at the beginning of each ability tho. but still i think with targeting this would require less setup.

appart from the rough start it looks very promising. creating a custom task was very easy what is important to customize it to your own needs. i really hope its possible to get animation blending for branching to work.

here is an other bug:
after restarting the engine the custom task i added in the time line in every ability is gone and left is just an empty task.
yes i saved the abiliy before closing the editor and the task was doing what it was supposed to do in the game but after restart it doenst do it anymore.

I initially thought of doing that, but then you’d have the opposite problem. Maybe it’s the lesser of two evils though.

I’ve seen this happen on and off and I’m not sure the cause. There is nothing marking that field as read only. In fact, that field is marked as Edit Anywhere and the Selected Asset from Browser is just standard UE code. I’ll keep poking at it.

Not terribly shocked by this. You could be renaming a blueprint that is mid compiling in the background, or invalidating some internal pointer in the editor. If you get a solid repro, let me know. In the meantime, I’d simply close the Ability editor when renaming things.

  1. There is inherent blending with the Able Ability Animation Node and it definitely works as long as you let the system manage things and are passing in Animation Instances (not montages). Montages have their own complex blending system that you’re better off just using Dynamic Montages with.

  2. Targeting and Collision Query use the same code. If you enable the “Draw Collision Queries” option, you should see the same thing. As for debugging it, just turn on Verbose mode and it should tell you how many targets it found, etc.

That’s an old bug that should be fixed. A good way to prevent that in general is to save your custom task, compile it, test it, etc. Then go and add it to your Abilities. Basically measure twice cut once. Granted this isn’t possible if you’re being highly iterative with Custom Tasks (and I’ll run my local custom tasks through and make sure I didn’t miss some edge case), but that’s been the only fool proof strategy I’ve found with the rather dynamic nature of Blueprints linking other Blueprints.

I tried it all. Single Notes, Ability Animation Node with the state machine setup, Dynamic Montages. I tried all of this with root motion animations and without root motion. they all worked but there where absolutely no transition when branching. i allways get a frame to frame pop. the blend in and blend out settings in the ability node category of the play animations task properties are not doing anything usefull.

So i tried making 2 new abilites that just have a tpose and a branch to the next one that had an other static pose with an branch and it actually worked without any problem.
there where actually no differences to the things i tried. the only thing is i made this one from scratch again. the other one i changed things over time but settings where the same.

So i thought i try to reproduce this and removed the anim track and added a new one. while doing so i got a crash and since then my project won’t open anymore. i now have to delete the ability i was working on in order to get my project starting again. what makes me loose my patience what is a shame because beyond all these problems there might be a really useful plugin.

well, after all those custom task where gone after restarting i deleted all the empty tracks and added them again. so nothing changed in the custom task blueprint. it was compiled all along. but still, after a restart they where gone again. i wont waste my time doing it again. the feature is only usable one unreal instance. seems like the bug is back.

If you can provide a sample project repro-ing these bugs, please upload them here:

I’m working on a patch for later this week so I’ll try and squeeze it in if I can repro it and find a fix.

I found a problem…
I trying to make a ability that collide with dinamic mesh to make damage to my buildings but, the collision query don’t work with dinamic mesh.
When I try to fire a event to see whats go on, the fire event OnCollisionEvent don’t work.

All this buttons also are not working…