Yea, I think I mentioned this to you in the Discord channel. I’ll expose the Location Target in the next patch but you can use the Vector Context Parameters in the meantime.
1 Like
Maelgrim
(Maelgrim)
September 5, 2021, 5:13pm
1794
Hello, I cannot seem to find a valid discord invite, may I have one, thanks.
Able v3.71 submitted, notes below:
Able v3.71
Added new field to Ability class - Client Execution Policy.
Default - The Ability will play on the local client (prediction), authoritative (server / listen server), and remote clients.
LocalAndAuthoritative - The Ability will not play on Remote Clients (they still get it, but will ignore playing it).
Branch Input Conditionals now has a dynamic property binding for the Input names. Enhanced Input is not supported for this feature yet.
Added new option to Play Ability Task to copy over the current Ability Targets to the new Ability.
Bugfix: IsInAbilityRange Behavior Tree decorator now works again.
Added better logging to IsInAbilityTree BT decorator. Just set your BehaviorTree log level to Verbose.
Bugfix: Fixed crash in Ability Component update when using Simulate mode in the editor.
Bugfix/Change: Debug Sweep drawing previously was inconsistent (Boxes didn’t rotate, but Capsules did).
However the Internal sweep code used by the engine does not allow for rotation to change during the sweep, so I’ve updated the draw call to take that into account.
Added Owner/Instigator dynamic properties for Play Ability Task.
Change: The Loop iteration counter is now stored on the Ability Context and can be accessed/set via GetCurrentLoopIteration / SetLoopIteration.
Change: Due to how replicated variables work, it was possible for an Active Ability to play, end, and start again on the server - but clients wouldn’t get that change.
So, now the Server will detect those types of situations and force the client to play those Abilities. Passives should be unaffected by the bug / change and should work as expected.
1 Like
Able v3.72 submitted, small update.
Fixed an issue causing the 4.25 to fail to deploy properly.
Added guards around the ForcedClientAbility call to prevent infinite loops if the server is reading it’s own RPC.
1 Like
Able v3.73 submitted. Just a few bug fixes.
1 Like
Joseph.H.S
(Joseph.H.S)
January 14, 2022, 10:14am
1799
@
Hi ,
I’m using Able now and have a simple question to ask.
So I’m creating my AbilityTask in the game project, and I found there’s a issue that I can’t really create my own ScratchPad class for the task. The reason why is like following.
UCLASS()
class UAblScratchPadSubsystem : public UWorldSubsystem
I solved it by adding “ABLECORE_API” but just wonder if there’s any reason you don’t want to expose the API inside this class outside of the plugin?
Thank you.
Nah, that’s totally safe. I’ll add that in the next update. Thanks for letting me know about it.
Joseph.H.S
(Joseph.H.S)
January 19, 2022, 2:49am
1801
Cheers, mate. Thank you for your confirmation.
Able v3.75 submitted, notes below:
Able v3.75
Added Blueprint Event Delegates to the Able Ability Component
On Ability Start - called when an Ability beings to play on the component.
On Ability Interrupt - called when an Ability is interrupted on the component.
On Ability Branch- called when an Ability is branched on the component.
On Ability End - called when an Ability is ended on the component (along with the result - successful, interrupted, branched).
NOTE: On Ability End is called in the case of Branch/Interrupt as well (with the appropriate result). There is no real difference between the callbacks (as both are called), they are merely separated for organizational purposes.
Added “Create Context with Location” BP Function to pass in a location directly into the context.
Added “3D Slice” option to Cone Queries / Targeting. This causes the origin of the query not to coalesce like a normal cone, but instead keeps a uniform height (like a slice of pie / cake).
Added Debug drawing support for 3D slice option.
Exposed Get/SetTargetLocation on the Ability Context. NOTE: You can only set the target location BEFORE you call activate Ability (at which point the context becomes immutable and you’ll have to go through the Modify Context Task, etc to make any other changes).
Fix to crash in Ability Animation Mode in certain cases where we would end up with a null animation mid-update.
Clear Queue on the Ability Animation Mode now properly clears the cached pose as well.
Max stacks can once again be 0 which means infinite stacks. You still apply at least 1 stack, but you will never hit the stack limit.
Fix to Branch Input conditional to act more like Channel input conditional and not care about if the game is networked or not - it only cares if the user is locally controlled.
Fix to Clang compiler warnings about not having explicit scope / complaining about copying a ranged for loop value.
Removed some old code that was causing some false positives in the asset dirty state when opening an ability (then UE would ask you to save the asset again despite not having made any changes).
Fix to AI Play Ability / Stop Ability not properly finding Blackboard Ability assets.
1 Like
Nosh88
(Nosh88)
April 3, 2022, 5:06pm
1803
I’m having an issue tying a raycast query to a socket on the owner actors mesh. The raycast query will attach itself to the location of the socket, however it will not imitate the socket’s rotation.
Example: I have a character who has a “channeled” ability that allows him to continually fire his weapon until empty. The rayquest fires from the muzzle socket I have set, but the raycast rotation is always at 0, no matter where I turn the character, so it’s always firing in one spot. I have tried to use the “use socket rotation” check box, however this detaches it from the player character and sets the location of the raycast query to “0,0,0” in the world with the correct rotation for the character.
Any ideas on how I could get around this? My character is a topdown character that uses mouse location to return the rotation of the character.
You can overload the Transform (hit the + next to the transform) and calculate things yourself that way you know the socket rotation is being applied as you expect.
I’ll take a peek at Socket Rotation and see if that changed out from under me somehow while I finished UE5 support.
Nosh88
(Nosh88)
April 5, 2022, 6:28pm
1805
I’ll give that a shot, I created some side code that allowed me to do what I wanted so I’ll plug that into your suggestion and see what I get. Thanks again
Able 3.75b (for Beta) has been submitted for UE5. Notes below.
1 Like
Able v3.78 has been submitted, notes below:
Able v3.78
QUICK NOTE:
I have a couple features I’ve been working on that aren’t ready just yet, but wanted to get this patch out since it fixes some pretty big issues (especially on the UE5 side of things).
UE4.26/4.27 versions will follow in the next few days as I have to manually backport things for those guys since UE5 made the integration a nightmare.
Added SVG versions of various Able Icons. More will follow.
“Get Range” method now always returns the range of an Ability, not just if it requires targeting.
Able Ability Component is now blueprintable.
Exposed various cooldown fields to blueprints (more for future work).
Renamed/Combined the Task/Ability Scratchpad Subsystems into AbleUtilitySubsystem - this just saves a Subsystem/UObject and consolidates things for future features.
Added “Use Actor Rotation” to the AblAbilityTargetTypeLocation Struct. This sets the rotation to always be the same as the actor during evaluation.
Turn To Task can be set to Client or Server only (or both like normal).
Fixed an issue where the Target of an Ability could be lost on the server due to using a cached variable.
Fix to Ability Start Blueprint Event not firing on the Ability Component.
Fix to “Asset is not an Actor Blueprint” when selecting from the Target/Preview dropdown due to double-clicking on an Asset. (UE5 only issue).
Fix to Drop down menus somehow getting stuck open (UE5 only issue).
Also if you aren’t on our discord, there was a new UE5 sample made for users that sets up a simple fireball ability + hit reaction. You can grab it here:
Shared with Dropbox
Able v3.80 submitted, notes below.
Added Dynamic overrides for Montage Name + Ability State/State Machine names on Play Animation Task.
Fixed an issue where you could occasionally get a “Cannot interrupt Ability” if you had an active that was done - but wasn’t cleaned up just yet.
Set “Allow None as Value” to Play Ability / Stop Ability Behavior Tree tasks.
Fixed an issue where you could get a bunch of spam about “Queueing Ability for Cancel” when using the Ability Editor.
1 Like
Able v3.81 submitted, notes below:
Fixed regression with Active Abilities allowing constant interrupt.
Able v3.82 submitted, notes below:
Able v3.82
Fixed a crash when an active is queued for cancel twice in the same frame.
While in Editor, Actives that fail to cancel when played from the Ability Editor will be forcefully cancelled.
1 Like
Able v3.85 has been submitted, notes below:
Able v3.85
UE 5.1 support (this means 4.26 is no longer supported)
Camera Shake class was renamed so you may need to reset those fields.
Asset paths were revamped in this release, I think I fixed everything to work with the new system - but let me know if you find a hyperlink or what not and it complains.
Editor Style Set was removed, so, you may see some changes if you have custom editor styles or what not.
Added Range override field to IsInAbilityRange BT Decorator. This lets you specify a custom range rather than ask the ability for it.
Fixed an issue where the Server and Client could get prediction mismatches if the prediction tolerance was 0 (which is default).
Turn To task now has a “Use Task Duration As Blend Time” which will use the task duration as the amount of time it takes to complete the turn. Enabled by default.
Added “Unique Actors” to the Collision / Targeting filters. This will only return each actor found, only once - even if they have multiple collision entries in the physics scene. The entry choose is random (which ever is encountered first).
Play Particle Effect Params can update on tick now. Just check the “Enable Tick Update” on the parameter you wish to continually update.
Damage Event Task changes:
Now passes in the FDamageEvent structure into CalculateDamageForActor callbacks on the Ability.
Added Radial Damage Info to the Task parameters. This lets you use the RadialDamageEvent which gives you damage falloff from a center location or what not. Supports Dynamic binding.
Blueprint Changes
All Tasks
GetDuration - returns the task duration in seconds.
GetCurrentDurationAsRatio - returns the task duration as a value between 0.0 and 1.0
Ability
GetIsPassive - Exposed Function
GetInitialStacks - Exposed Function
GetMaxStacks - Exposed Function
GetStackIncrement - Exposed Function
GetStackDecrement - Exposed Function
GetDecayTime now requires an execution pin (as it’s dynamic and not static).
5.1’s update is going out first. 5.0 and 4.27 should be right behind it (just waiting for those two to finish compiling - but wanted to get 5.1 out for those users rather than make them wait an extra day).
1 Like
Helix1095
(Helix1095)
January 6, 2023, 8:17am
1812
Hello AngelV.
I have some problems using SpacialOS.
I wanna host sample game in SpacialOS, but I didn’t.
Could you tell me how to use SpacialOS and host game using it.