Announcement

Collapse
No announcement yet.

Able Ability System Info and Support Thread

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

    What if the only options I see have the default tag?

    Comment


      Originally posted by JSwigart View Post
      What if the only options I see have the default tag?
      Because you're asking specifically for the default object. Admittedly, Able doesn't care because it uses the default under the hood, so anything besides SKEL should be fine.
      Able Ability System - A high performance, robust ability system for UE4. Now Available!

      Comment


        is able build from the ground up or is it similiar or using UE4 Gameplay Ability System

        Comment


          Seems like UAblCustomTask aren't working in the latest code.

          The UAblCustomTask::OnTaskStartBP finds a function, but there is no script associated with the function, even though my blueprint has the OnTaskStartBP implemented. Any ideas?

          Comment


            Originally posted by KhxiSaki View Post
            is able build from the ground up or is it similiar or using UE4 Gameplay Ability System
            Built from the ground up. It has some similarities to GAS but that's mainly coincidence. GAS was pretty opaque when I started Able.
            Originally posted by JSwigart View Post
            Seems like UAblCustomTask aren't working in the latest code.

            The UAblCustomTask::OnTaskStartBP finds a function, but there is no script associated with the function, even though my blueprint has the OnTaskStartBP implemented. Any ideas?
            Define "no script associated with the function". If you have "OnTaskStart" overridden in the blueprint - then it should be fine. If you're trying to do it through code then you need to inherit from OnTaskStart as OnTaskStartBP isn't virtual (on the C++ level).
            Able Ability System - A high performance, robust ability system for UE4. Now Available!

            Comment


              I have a blueprint class that extends AblCustomTask that implements the OnTaskStart override, I add the task to the timeline of an ability, the blueprint task OnTaskStart doesn't trigger. When I debug the code, I can see the UAblCustomTask::OnTaskStartBP gets called, FindFunctionChecked finds a function, but the Script field of the function is empty, so it doesn't execute anything, just early outs. I can't seem to get any of my blueprint tasks to work.

              Comment


                Alright Able v3.15 submitted. Notes below:

                • Added support for UE 4.23
                • Added Bindable Dynamic Play Rate to Play Animation Task (let me know if you run into problems with this). This lets you dynamically change your Play Animation play rate at runtime.
                • Filtered out SKEL and REINST blueprint objects when using the Add Task picker. Blueprint objects use their display name rather than their raw name (no more Default__ if you don't override the GetTaskName method).
                As always, your feedback is super important and please let me know if you run into any issues.
                Originally posted by JSwigart View Post
                I have a blueprint class that extends AblCustomTask that implements the OnTaskStart override, I add the task to the timeline of an ability, the blueprint task OnTaskStart doesn't trigger. When I debug the code, I can see the UAblCustomTask::OnTaskStartBP gets called, FindFunctionChecked finds a function, but the Script field of the function is empty, so it doesn't execute anything, just early outs. I can't seem to get any of my blueprint tasks to work.
                I just verified it by making a simply custom task, overriding OnTaskStart and telling it print a string. I can give you the project if you want to see what I did and where you may be going wrong. You can grab it here.
                Able Ability System - A high performance, robust ability system for UE4. Now Available!

                Comment


                  Does it still work if the blueprint task is inherited from another blueprint class?

                  Comment


                    Originally posted by JSwigart View Post
                    Does it still work if the blueprint task is inherited from another blueprint class?
                    Are you saying you have it setup "UAblCustomTask -> MyCustomTask -> MyCustomTaskChild"?

                    I could see that potentially failing? I'm not sure what UE does under the hood for childs of BlueprintImplementable functions. It may be as simple as marking the BlueprintImplementable methods in UAblCustomTask as virtual (and hope that flag persists in child classes).
                    Able Ability System - A high performance, robust ability system for UE4. Now Available!

                    Comment


                      Yes that was the situation I was in, though I didn't realize until after I had refactored away from the custom task to try and see if it worked without the extra child class.

                      Comment


                        So I just picked Able back up after a long break. Got a fire ball going and I have an issue.
                        Engine Version: 4.21 fresh download of Able

                        Skill:
                        PlayAnimation
                        SpawnActor

                        if an enemy/wall etc that is collidable with the project that spawns is too close, UE4 crashes and I get an error shown here:
                        Assertion failed: SpawnedActor [File:\Build\++Portal+Dev-Marketplace+Full\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\Able\Source\AbleCore\Private\Tasks\ablSpawnActorTask.cpp] [Line: 116]

                        i am 99% positive it's got something to do with potentially trying to destroy the projectile before the spawn actor task can finish firing?
                        I'm off work tomorrow so I was going to take a look at it tomorrow because it's 1:20 in the morning and I need some sleep

                        Comment


                          Originally posted by brian.boettger View Post
                          So I just picked Able back up after a long break. Got a fire ball going and I have an issue.
                          Engine Version: 4.21 fresh download of Able

                          Skill:
                          PlayAnimation
                          SpawnActor

                          if an enemy/wall etc that is collidable with the project that spawns is too close, UE4 crashes and I get an error shown here:
                          Assertion failed: SpawnedActor [File:\Build\++Portal+Dev-Marketplace+Full\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\Able\Source\AbleCore\Private\Tasks\ablSpawnActorTask.cpp] [Line: 116]

                          i am 99% positive it's got something to do with potentially trying to destroy the projectile before the spawn actor task can finish firing?
                          I'm off work tomorrow so I was going to take a look at it tomorrow because it's 1:20 in the morning and I need some sleep
                          Hmmm... maybe? I'll take a look tonight. I have to re-submit the patch anyway so I might sneak this fix in.
                          Able Ability System - A high performance, robust ability system for UE4. Now Available!

                          Comment


                            Originally posted by ExtraLifeMatt View Post

                            Hmmm... maybe? I'll take a look tonight. I have to re-submit the patch anyway so I might sneak this fix in.
                            so if this helps, here's the two lines that look to be the issue (solid on the assertion checks if i read this correctly btw)
                            line 116 of SpawnActor (per the stack trace)

                            AActor* SpawnedActor = ActorWorld->SpawnActor<AActor>(ActorClass, SpawnTransform, SpawnParams);
                            check(SpawnedActor);


                            I'm destroying the projectile when it collides with 2 types of actors.
                            If i remove any destroy reference in the projectile everything works fine.
                            This only occurs when I stand right on top of what will destroy the projectile. If i stand across the room, the projectile destroys just fine.

                            I don't know if that helps you think through (and it could completely be something i'm doing, i'm open to that suggestion... this is the first skill i've created in like a year)


                            Comment


                              Originally posted by brian.boettger View Post

                              so if this helps, here's the two lines that look to be the issue (solid on the assertion checks if i read this correctly btw)
                              line 116 of SpawnActor (per the stack trace)

                              AActor* SpawnedActor = ActorWorld->SpawnActor<AActor>(ActorClass, SpawnTransform, SpawnParams);
                              check(SpawnedActor);


                              I'm destroying the projectile when it collides with 2 types of actors.
                              If i remove any destroy reference in the projectile everything works fine.
                              This only occurs when I stand right on top of what will destroy the projectile. If i stand across the room, the projectile destroys just fine.

                              I don't know if that helps you think through (and it could completely be something i'm doing, i'm open to that suggestion... this is the first skill i've created in like a year)

                              What's your Spawn Collision set to on that Task? Likely it's failing to spawn because the projectile is inside some other object and the Spawn Collision isn't set to "Always Spawn".
                              Able Ability System - A high performance, robust ability system for UE4. Now Available!

                              Comment


                                ExtraLifeMatt It's set to Try To Adjust Location But Always Spawn. I tried setting it to always spawn ignore collision and it did the same thing.

                                Just to make sure I removed the spawn actor task and created a new starting with "Always Spawn Ignore Collision" and it did it again..

                                Comment

                                Working...
                                X