Able Ability System Info and Support Thread

v2.21 hasn’t been published by Epic yet. It’s still in the processing phase (hence why I was able to sneak that fix in). Hopefully it’ll be out today or tomorrow.

The whole event vs function thing is a bit of a misnomer. OnAbilityStart/End/etc are all functions, technically. They’re called directly at specific points and not using the delegate system or anything like that. So, if you just overload it from the Function list - it should actually work identically as just dragging nodes off the default nodes that are populated in the graph normally.

That said, it’s all moot as this is fixed in v2.21 so just hold tight and update as soon as you can, then you should be good to go. :slight_smile:

can’t wait to give it a try, me waiting for 2.21 to release: https://media.giphy.com/media/Jq7y34Hgfy01y/giphy.gif :slight_smile:

Hey again,

After updating, I can’t find blueprint preview assets. If I select the parent or the class itself in the first window, nothing shows up in the second one. This was working fine before. If I try finding a skeletal mesh asset then it works, but I can’t use these since I’m utilizing the ability node.

I also have the same issue as Talanar where the “unrecognized tab” opens. Does nothing as far as I know, but probably shouldn’t be there hahah.

Edit: Unfortunately it seems that the animation speeding up with weird blending issue is still there. Any comments on that?

Hmm, I didn’t change the Preview code. I can check and see if that broke. Refresh my memory on the animation speeding up? I’ll try and repro that this weekend.

Thanks! I’ll copy paste Fernmerc’s posts, he has the same issue(s) I have:

SteamPunkProgrammer also posted about what is most likely the same issue:

Thanks for your time!

Edit: I think another user also has the same issue as me with the preview asset:

The speed up I haven’t seen in the test app I have that loops an animation with a branch on itself, but I’ll see what I can find. Same with the preview asset stuff.

In the meantime, SteamPunkProgrammer fixed the ability canceling by tweaking his Animation Blueprint:

If you press and hold F in the test project Fernmerc submitted, every other ability animation iteration isn’t sped up? It is for me, and that’s the same issue I have in my own project.

I’m still getting the crash in standalone when using Able. I’m now using v2.21 and custom built engine with the recommended change that was supposed to fix it. Any ideas, @?

@mesterKG I get the crash when using standalone too.

@ I managed to get standalone working by changing the Type in UPlugin from this



        {
            "Name": "AbleEditor",
            "Type": "Editor",
            "LoadingPhase": "PreDefault",
            "WhitelistPlatforms": 
                "Win64",
                "Win32",
                "Mac",
                "Linux"
            ]
        }


to this



        {
            "Name": "AbleEditor",
            "Type": "Developer",
            "LoadingPhase": "PreDefault",
            "WhitelistPlatforms": 
                "Win64",
                "Win32",
                "Mac",
                "Linux"
            ]
        }
​​​​​​​

Is this safe to do? or will it cause me issues?

I did the change described by there and now Standalone from editor works like a charm. No custom engine required.

–kg

Interesting… I’m not sure what changing the Type to Developer does (maybe standalone doesn’t consider itself an Editor app?), I’m slightly shocked that fixes it but ¯_(ツ)_/¯

I’ll do some digging and see what could come out of that, and if it seems okay - I’ll push it in the next update.

I also tried setting it to “Runtime” and that seems to work as well. From what I can understand of the UE docs, the developer type may not load module in shipping builds. I have absolutely no idea how any of this plugin stuff works, so it may break other things, all I know that changing it got standalone working.

It shouldn’t be trying to load the AbleEditor portion anyway for stand alone (there’s no reason for it if it’s just launching the blueprint as a compiled asset). I’m still digging into it. Runtime is definitely not intended as that would load the Editor specific code when running the game - which you don’t want. Developer sounds okay, but I’m still digging to better understand what is going on here and why that seems to fix it

I was able to repro it and track the issue down. Looks like if you have a queue’d up animation that you are blending to, that animation gets updated twice (and thus plays 2x).

The fix is to simply comment out (or remove) this line in the AnimNode_AbilityAnimPlayer.cpp:



            //m_NextSequenceInternalTimeAccumulator += Context.GetDeltaTime();


The MakeSequenceTickRecord does that logic, so it’s not needed to do it before hand. I’ll push that fix out as well as soon as I understand the fix barney87 is doing and what can come from that. Feel free to make the change locally if you need it before then.

@ I found another bug. After creating a custom task two tasks show up in the add task menu in the Able Editor. One of them will crash Unreal Engine Editor.

To reproduce.

  1. Create third person project
  2. Create new ability based on AblAbility class
  3. Create new custom task based on the AblCustomTask
  4. Click add task in Able Editor in the new ability
  5. You will see two tasks with the same name, except one has a prefix of SKEL
  6. If you click on the SKEL version and save, it will crash UE
  7. If you click on the one not labelled SKEL it seems to work fine.

@

Also, now that I can finally use Able, I am not sure where to get started.

I have a third person project, and my character shoots projectiles. I use the camera to do a line trace and then offset the rotation of the projectile so that it travels in the direction of my cross-hair. I was hoping I could move my shooting logic into Able.

Here is the current logic I am using (its not quite complete) but it will give you the gist of what I am trying to do.

It doesn’t seem like I can do this (cleanly) in Able, what do you think?

Yesss, this is great, thank you!

Thanks, I’ll try this steps and see what I can find. If I had to guess, the SKEL is the uncompiled version of the Custom Task. When you compile a Blueprint it generates a SKEL version (which just has bare bones data - no actual data), and then a final compiled version which is the one you normally interact with. I can try and filter out those SKELs.

There is a Camera Target Type which looks in the direction of the player camera, as well as offsets available. If you look at my Shooter Game tutorial, I do exactly what you’re talking about:

https://extralifestudios.atlassian.net/wiki/spaces/ABLE/pages/1212419/Tutorials Watch the Shooter Game video.

@
I am not sure that we are talking about the same thing. If I was to use the camera target type and spawn a actor projectile from an offset from the location it the projectiles would not line up with the crosshair. In order for the crosshair to be accurate the offset need to be variable, depending on the targets distance from the camera. Obviously this is not the way it works in the real world, however it feels more natural for the player.

I have drawn a quick diagram which I hope better illustrates how I currently handle projectiles from my third person character. Essentially I get a look at rotation of the hit location from the raytrace and fire the projectile from the character in that direction. (If there is no hit, the projectile will rotate so at the max range of the projectile, it will line up with the crosshair).

ok I got some good news.
I finally managed to get the 2.21 working on 4.19.1. This is an instruction for people who just bought it and having troubles running it.

So here’s what I did step by step to make it work (and below I will list what doesnt work):

  1. download release version of the engine from github
  2. hit setup.bat and then generate project files
  3. compile the engine from source
  4. close visual, put the plugin in Engine/Plugins/Able
  5. Hit Generate Project files once again (the one in the engine folder, not the project one)
  6. open solution, compile
  7. run the editor - voila, the plugin is enabled by default, has proper events with context etc.

What DOES NOT work:

  1. getting github version, copying the plugin into the folder before first compilation of the engine and doing the first compilation after putting the plugin there. (so the two step compilation was neccesarry for me)
  2. Getting the 4.19 from marketplace
  3. instaling the plugin through marketplace.

Hope that helps someone.

Glad to hear you fixed the animation blending! Any idea when the update will be out? I’m not sure how to recompile the plugin; I went into the plugin source and commented the line you said I should comment, and I rebuilt the entire solution but I still have the issue. I’m not building the engine from source.