Announcement

Collapse
No announcement yet.

Able Ability System Info and Support Thread

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    yup did it multiple times, from what I've gathered from other places on the forums, this kind of message pops up when the plugin has been compiled for a different version of the engine than the one that I'm using, but I've integrated it through the launcher and it doesnt let me choose witch compilation of the plugin to run.

    This problem persists on engine versions from 4.17 - 4.19 for me. Otherwise the plugin works fine as far as I noticed, but this is something cruicial for me

    also I dont know if this is significant but after opening the new ability for a first time This tab with CompilerResults and unrecognized tab pops up, but never shows again.

    https://imgur.com/5Jdk5hC

    edit:
    when I looked upon the Event itself in the code (I think thats what I'm looking at ) visual returns this warning:
    https://imgur.com/gL8kRuN

    what am I missing here?
    Last edited by Talanar; 04-07-2018, 01:33 PM.

    Comment


      Hi

      I'm trying to make a bow shooting ability, but I'm wondering how to best go about it.. I want to have it so that when you press down primary button, the character raises the bow, draws back the string and holds it drawn until primary is released. If the release happens before a given time, the character goes back to idle. If release happens after a given time, a projectile should be shot. There should be a strength build-up while primary is pressed that control the initial velocity of projectile.

      When pulling the bow string back, I need to play both the characters pull back animation, and the bow's pull back animation.

      Edit: Additionally I'll have aimOffset blending so the character will be rotating upper body aiming the bow up and down and left and right.

      So far I've got a montage for the character (using this to have easy blending in anim bp) with three sections:
      1 - bow raises to aiming position
      2 - arm pulling string back
      3 - holding the string pulled back. (This section is set to looping)

      I'm playing this montage with the PlayAnimation task in my able ability. I've set the ability "IsChanneling" with input primary as condition. This makes the animations play nicely and I can interrupt at any time by releasing primary. I've also set the ability to be looping with timing same as the montage's last section.

      Issue 1: When I release primary, the character snaps back to idle. It seems the montage blend-out time is ignored. I've debugged into the code and it seem the Montage_Stop is called with the correct m_blendout parameter, but to no effect. Any ideas what I'm doing wrong here? Something in Able, or something in my animation blueprint maybe? I've tried to just trigger and stop my montage outside of able, and then it works as expected with smooth blending back to idle.

      Continuing.. My idea is to have this one raise-and-aim ability branch into a shooting ability with the branch being triggered by primary release. But this seems to be the wrong way, because of how I've set the whole ability to be channeling on Primary being pressed. When I release the primary, this interrupts the ability and the branch never happens. I suppose I could replace the branch task with logic scripted into the interrupted event. Any thoughts on how to best set this up?

      I need to play animations on my character AND my bow. I haven't found a way to do this in one ability. So I thought to give the bow two abilities as well: one for pull back and one for shooting. Then I would trigger the abilities for the bow from the character abilities.. with custom events, perhaps.. Haven't looked to much on this yet. Any thoughts on how to best set this up?

      Unrelated: After some frustration with the above complex setup.. I went to make a sword swing ability. This was done in 3 minutes and everything works as it should. I'm so looking forward to pumping out simple abilities and decorating them with effects and sounds and what not.. Thanks for an awesome plugin!

      yours sincerely,
      mesterKG
      Last edited by mesterKG; 04-08-2018, 08:18 AM.

      Comment


        Able v2.21 is submitted. Notes below.
        - BUGFIX: Fixed an issue that prevented projects using Able from packaging properly after the v2.20 update.
        - BUGFIX: Fix to CalculateCooldown not being called properly.
        - BUGFIX: Fix to CanLoopExecute not being called properly.
        - FEATURE: Added "Dynamic Animation Asset" option to Play Animation Task. When enabled, "OnGetAnimationAsset" C++/BP Event will be called and the Animation Asset returned from there will be used as the Animation for the Play Animation Task. This is helpful if you want to do some sort of dynamic table look up or such for animations, but the rest of the Ability is the same across multiple characters.
        - FEATURE: Added "ShouldCancelAbility" C++/BP Event. This is called by the Cancel Ability Task and allows you to specify custom logic to decide whether or not to cancel an Ability running on the actor the task is targeting. Note that the specific Ability and Tag based check are still executed as well, so if you want total control, simply leave those fields blank on the task.
        mesterKG The easiest option is probably just to add an Ability Component to your bow and have it play a really simple animation. That means your Weapon has to be an Actor, but if that's already the case then that's no big deal. The other option is to set some variable on your character that your Animation Blueprint then reads and force plays the firing animation or what not on that weapon skeletal mesh. You could use Able's Custom Event Task to set that variable from the Abilites you want to use the weapon animation (a normal bow shot vs just a charge).

        EDIT:
        Oh and a user started a discord server for fellow Able users: https://discord.gg/YPkGjQg
        Able Ability System - A high performance, robust ability system for UE4. Now Available!

        Comment


          Hi,

          I'm struggling with the standalone issue, ie. when running in standalone from editor or RMB on uproject file and Launch, the game crashes on load with this in log
          Code:
          [2018.04.09-12.09.12:697][  0]LoadErrors: Failed to load /Script/AbleEditor.AblAbilityGraph Referenced by ABY_Farmer_BowRaiseAndDraw_01
          [2018.04.09-12.09.12:697][  0]LogUObjectGlobals: Warning: Failed to load '/Script/AbleEditor': Can't find file '/Script/AbleEditor'
          [2018.04.09-12.09.12:697][  0]LogLinker: Warning: Can't find file for asset '/Script/AbleEditor' while loading NULL.
          [2018.04.09-12.09.12:697][  0]LoadErrors: Failed to load /Script/AbleEditor.AblAbilityGraph Referenced by ABY_Farmer_BowRaiseAndDraw_01
          [2018.04.09-12.09.12:697][  0]LogUObjectGlobals: Warning: Failed to load '/Script/AbleEditor': Can't find file for asset '/Script/AbleEditor' while loading NULL.
          [2018.04.09-12.09.19:236][  0]LogWindows: Error: === Critical error: ===
          [2018.04.09-12.09.19:236][  0]LogWindows: Error:
          [2018.04.09-12.09.19:236][  0]LogWindows: Error: Fatal error!
          [2018.04.09-12.09.19:236][  0]LogWindows: Error:
          [2018.04.09-12.09.19:236][  0]LogWindows: Error: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x00000060
          [2018.04.09-12.09.19:236][  0]LogWindows: Error:
          [2018.04.09-12.09.19:236][  0]LogWindows: Error: [Callstack] 0x00000000458504A9 UE4Editor-Engine.dll!UEdGraph::GetAllChildrenGraphs() [c:\gamedev\mesterkg_lightspark\unrealengine\engine\source\runtime\engine\private\edgraph\edgraph.cpp:340]
          [2018.04.09-12.09.19:236][  0]LogWindows: Error: [Callstack] 0x00000000454F7794 UE4Editor-Engine.dll!UBlueprint::GetAllGraphs() [c:\gamedev\mesterkg_lightspark\unrealengine\engine\source\runtime\engine\private\blueprint.cpp:1542]
          [2018.04.09-12.09.19:237][  0]LogWindows: Error: [Callstack] 0x0000000052DCA8E0 UE4Editor-UnrealEd.dll!FRegenerationHelper::LinkExternalDependencies() [c:\gamedev\mesterkg_lightspark\unrealengine\engine\source\editor\unrealed\private\kismet2\blueprinteditorutils.cpp:1096]
          [2018.04.09-12.09.19:237][  0]LogWindows: Error: [Callstack] 0x0000000052DCA651 UE4Editor-UnrealEd.dll!FBlueprintEditorUtils::LinkExternalDependencies() [c:\gamedev\mesterkg_lightspark\unrealengine\engine\source\editor\unrealed\private\kismet2\blueprinteditorutils.cpp:1560]
          [2018.04.09-12.09.19:237][  0]LogWindows: Error: [Callstack] 0x000000004551548E UE4Editor-Engine.dll!UBlueprint::RegenerateClass() [c:\gamedev\mesterkg_lightspark\unrealengine\engine\source\runtime\engine\private\blueprint.cpp:649]
          Last I asked about this, you referred me to a fix in engine code. I've applied that fix:
          Code:
          UClass* FBlueprintEditorUtils::RegenerateBlueprintClass(UBlueprint* Blueprint, UClass* ClassToRegenerate, UObject* PreviousCDO, TArray<UObject*>& ObjLoaded)
          {
              // Purge any NULL graphs - fix for ABLE standalone issue
              FBlueprintEditorUtils::PurgeNullGraphs(Blueprint);
          
              bool bRegenerated = false;
          
              // Cache off the dirty flag for the package, so we can restore it later
              UPackage* Package = Blueprint->GetOutermost();
              bool bIsPackageDirty = Package ? Package->IsDirty() : false;
          Any ideas?

          --mesterKG

          Comment


            Originally posted by mesterKG View Post
            Hi,

            I'm struggling with the standalone issue, ie. when running in standalone from editor or RMB on uproject file and Launch, the game crashes on load with this in log
            Code:
            [2018.04.09-12.09.12:697][ 0]LoadErrors: Failed to load /Script/AbleEditor.AblAbilityGraph Referenced by ABY_Farmer_BowRaiseAndDraw_01
            [2018.04.09-12.09.12:697][ 0]LogUObjectGlobals: Warning: Failed to load '/Script/AbleEditor': Can't find file '/Script/AbleEditor'
            [2018.04.09-12.09.12:697][ 0]LogLinker: Warning: Can't find file for asset '/Script/AbleEditor' while loading NULL.
            [2018.04.09-12.09.12:697][ 0]LoadErrors: Failed to load /Script/AbleEditor.AblAbilityGraph Referenced by ABY_Farmer_BowRaiseAndDraw_01
            [2018.04.09-12.09.12:697][ 0]LogUObjectGlobals: Warning: Failed to load '/Script/AbleEditor': Can't find file for asset '/Script/AbleEditor' while loading NULL.
            [2018.04.09-12.09.19:236][ 0]LogWindows: Error: === Critical error: ===
            [2018.04.09-12.09.19:236][ 0]LogWindows: Error:
            [2018.04.09-12.09.19:236][ 0]LogWindows: Error: Fatal error!
            [2018.04.09-12.09.19:236][ 0]LogWindows: Error:
            [2018.04.09-12.09.19:236][ 0]LogWindows: Error: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x00000060
            [2018.04.09-12.09.19:236][ 0]LogWindows: Error:
            [2018.04.09-12.09.19:236][ 0]LogWindows: Error: [Callstack] 0x00000000458504A9 UE4Editor-Engine.dll!UEdGraph::GetAllChildrenGraphs() [c:\gamedev\mesterkg_lightspark\unrealengine\engine\source\runtime\engine\private\edgraph\edgraph.cpp:340]
            [2018.04.09-12.09.19:236][ 0]LogWindows: Error: [Callstack] 0x00000000454F7794 UE4Editor-Engine.dll!UBlueprint::GetAllGraphs() [c:\gamedev\mesterkg_lightspark\unrealengine\engine\source\runtime\engine\private\blueprint.cpp:1542]
            [2018.04.09-12.09.19:237][ 0]LogWindows: Error: [Callstack] 0x0000000052DCA8E0 UE4Editor-UnrealEd.dll!FRegenerationHelper::LinkExternalDependencies() [c:\gamedev\mesterkg_lightspark\unrealengine\engine\source\editor\unrealed\private\kismet2\blueprinteditorutils.cpp:1096]
            [2018.04.09-12.09.19:237][ 0]LogWindows: Error: [Callstack] 0x0000000052DCA651 UE4Editor-UnrealEd.dll!FBlueprintEditorUtils::LinkExternalDependencies() [c:\gamedev\mesterkg_lightspark\unrealengine\engine\source\editor\unrealed\private\kismet2\blueprinteditorutils.cpp:1560]
            [2018.04.09-12.09.19:237][ 0]LogWindows: Error: [Callstack] 0x000000004551548E UE4Editor-Engine.dll!UBlueprint::RegenerateClass() [c:\gamedev\mesterkg_lightspark\unrealengine\engine\source\runtime\engine\private\blueprint.cpp:649]
            Last I asked about this, you referred me to a fix in engine code. I've applied that fix:
            Code:
            UClass* FBlueprintEditorUtils::RegenerateBlueprintClass(UBlueprint* Blueprint, UClass* ClassToRegenerate, UObject* PreviousCDO, TArray<UObject*>& ObjLoaded)
            {
            // Purge any NULL graphs - fix for ABLE standalone issue
            FBlueprintEditorUtils::PurgeNullGraphs(Blueprint);
            
            bool bRegenerated = false;
            
            // Cache off the dirty flag for the package, so we can restore it later
            UPackage* Package = Blueprint->GetOutermost();
            bool bIsPackageDirty = Package ? Package->IsDirty() : false;
            Any ideas?

            --mesterKG
            That's the fix and the callstack for that nullptr crash. Are you sure you recompiled the engine and are running against that version? You'll need to right click on your uproject file and tell it to use your custom version of the engine.
            Able Ability System - A high performance, robust ability system for UE4. Now Available!

            Comment


              That's the fix and the callstack for that nullptr crash. Are you sure you recompiled the engine and are running against that version? You'll need to right click on your uproject file and tell it to use your custom version of the engine.
              Yes. The paths in the callstack confirms it. I haven't debugged anything yet so not much more information I can give you at this point. except from this info in the able.uplugin file:
              "FileVersion": 3,
              "Version": 19,
              "VersionName": "2.15",
              "FriendlyName": "Able",

              Maybe there is a newer version of Able we could try..

              --mesterKG

              Comment


                Originally posted by mesterKG View Post

                Yes. The paths in the callstack confirms it. I haven't debugged anything yet so not much more information I can give you at this point. except from this info in the able.uplugin file:
                "FileVersion": 3,
                "Version": 19,
                "VersionName": "2.15",
                "FriendlyName": "Able",

                Maybe there is a newer version of Able we could try..

                --mesterKG
                Latest is 2.20, with 2.21 due out today or tomorrow.
                Able Ability System - A high performance, robust ability system for UE4. Now Available!

                Comment


                  Im holding my fingers crossed that the 2.21 will help me out with my problems. If not would it be possible to acquire an old plugin packaged for 4.18 ? As far as I know, no one experienced this problem before 4.19 - I asked 3 of my friends to confirm they have the same issue and they did.

                  Comment


                    Originally posted by Talanar View Post
                    Im holding my fingers crossed that the 2.21 will help me out with my problems. If not would it be possible to acquire an old plugin packaged for 4.18 ? As far as I know, no one experienced this problem before 4.19 - I asked 3 of my friends to confirm they have the same issue and they did.
                    Yup, ping me via PM if 2.21 doesn't help you and I'll get you an older version.

                    EDIT: I'll also keep investigating things on my end. Have you thought of using a custom build version of the engine? That would allow you to avoid all this since you'd just be compiling Able against the source.
                    Last edited by ExtraLifeMatt; 04-09-2018, 10:57 AM.
                    Able Ability System - A high performance, robust ability system for UE4. Now Available!

                    Comment


                      I did but decided against it as I thought that stock 4.19 will work 100% so you suggest trying to pull a 4.19 from git, installing the plugin + compiling it from source?

                      If so, where should the plugin be located? In the engine/plugins/marketplace/able folder (like it gets installed by the launcher) or in the project content/plugins folder?
                      Last edited by Talanar; 04-09-2018, 11:07 AM.

                      Comment


                        Originally posted by Talanar View Post
                        I did but decided against it as I thought that stock 4.19 will work 100% so you suggest trying to pull a 4.19 from git, installing the plugin + compiling it from source?

                        If so, where should the plugin be located? In the engine/plugins/marketplace/able folder (like it gets installed by the launcher) or in the project content/plugins folder?
                        The benefits of building the engine from git source is: You can fix any bugs you find in the engine without waiting for releases (unlikely, but it happens), you get informative callstacks when something goes wrong (and can debug them), and you can step through all the code to debug things (or just use it as a learning resource).

                        The downside is you have to compile the engine (which can be a bit long the first time, 45minutes - 1 hour 1/2) and deploying engine builds can be a bit annoying (but its do-able). Likely, for your case, you would toss the Able source folder in Engine/Plugins, Generate the Engine solution, Build - and that's it. That's how I personally run on all my projects.
                        Able Ability System - A high performance, robust ability system for UE4. Now Available!

                        Comment


                          I just did rebuild from source (git hub 4.19 - release) followed your exact steps - again, still the same - issue persists :/
                          Waiting for 2.21 now

                          Comment


                            Originally posted by Talanar View Post
                            I just did rebuild from source (git hub 4.19 - release) followed your exact steps - again, still the same - issue persists :/
                            Waiting for 2.21 now
                            Are you setting your Ability class to inherit from something weird? Like a level blueprint or something like that? If you overload GetCooldown or CanLoopExecute, do you see the Context? Have you tried deleting and re-overloading those events?
                            Able Ability System - A high performance, robust ability system for UE4. Now Available!

                            Comment


                              Talanar I was able to reproduce your issue locally. This seems to be something that broke with the v2.20 update that added all the C++ callbacks. The way around it is to simply delete those events and then just manually add the overrides (Functions -> Override -> Select the method from the list).

                              I'll get a fix in. Sorry for all the confusion on this.

                              EDIT: Fixed and should go out with the upcoming v2.21 update.
                              Last edited by ExtraLifeMatt; 04-10-2018, 08:54 PM.
                              Able Ability System - A high performance, robust ability system for UE4. Now Available!

                              Comment


                                Hey @ExtraLifeMatt,

                                Yes I can delete them and override the function, problem is that after this is done I still dont have access to the events.

                                For simplicity of explanation and to show you my step by step implementation I've recorded a video:

                                https://youtu.be/Y4hh-ZYmfpE

                                You can see me trying to delete those custom events, overriding the function and then trying to place the events once again (and fail because they are not available to me)

                                I've uploaded the engine to 4.19.1 but as far as I see my plugin is still 2.20
                                Last edited by Talanar; 04-11-2018, 09:59 AM.

                                Comment

                                Working...
                                X