Yea, Inherited Tasks are objects that are still owned by the Original Ability, so you can’t modify them in child abilities. They’re meant more for logic that doesn’t need to change per Ability (including fields like animations, etc). So if you have some Attack ability that always plays “Swing 1” but the particle/sound can change - you’d want to inherit the Play Animation and then just re-create the particle / sound tasks. Child objects can’t save data in Parent Objects. I could add an option that inherited Tasks actually just copy themselves into Child Abilities, rather than just referencing the originals. There’s a small memory cost there, but it’s not much and would be a bit cleaner.
Also 4.24 has a nasty bug with recompilation that is schedule for 4.24.2, so if you’re crashing randomly in FlushCompilationMgrImpl - it will hopefully clear up in the next hotfix.
That would be great if you could add that copy methode for the Child Abilities, just an idean, but maybe you should add a checkbox option to enable this in the Project Settings > Plugins > Able, if anybody else is intrested in this, if it’s not a huge request for the next ABLE update. : )
We are using 4.22.3 for now, but at the end of january we would like to upgrade our Project to 4.24, so thank you for the notice about that nasty bug!
Ah, I see the problem. It’s called in a number of places, but the BP version is only called in the SetPassiveStack method. I’ll toss that fix in for the next update (hoping to submit it sometime this week).
OnAbilityStackAddedBP is now properly called when a stack is added.
Added SetCooldown which allows you to modify an existing cooldown, or just add one.
Added GetAbilityCurrentTime which allows you to pull the current time of an executing Ability (if you don’t have the context saved).
Added GetAbilityCurrentTimeRatio which allows you to pull the current time ratio of an executing Ability (if you don’t have the context saved).
TurnTo should now properly work if you pass it a blend value of 0.0
Blackboard name value on the AblTargetingBlackboard is no longer hidden…
INHERITED TASKS
Inherited Tasks (e.g.; Tasks marked as “Inheritable” in the Task properties panel), previously would just mark themselves as public and get pulled over during the class construction of any child classes. If you tried to modify one of those tasks, you’d likely get a “Attempted to modify a private object, etc” because the Tasks are technically owned by the original parent class. So, in practice that means they should be really treated as read only but it’s difficult to convey that and most people seem to want to use them as a way to populate new Abilities with some basic tasks that they then want to modify. So, there are some changes to help that:
Added a new Able Setting called Copy Inherited Tasks, it is turned ON by default. When enabled, a Child class will make copies of the Inherited Tasks that it can then modify safely. Turning the option off will enable the previous behavior. Currently you’ll have to re-make your Ability to get this behavior if you are already using Inherited Tasks (Sorry, I haven’t found a good way to let users migrate over if they want).
UE4.24 I assume? There’s a bug with blueprints with parents where the parent isn’t compiled before the child blueprint, that is set to be fixed with 4.24.2.
4.24 Indeed, forgot to mention it Thanks for the reply!
I however just updated the new 4.24.2 release (they merged an hour ago) through the epic launcher, still seems to be crashing when I try standalone mode
Haha, ■■■■ happens Thanks for having a look at it though! I’ll just use full builds instead of standalone client in the meantime when the PIE doesn’t suffice
Alright, I found a fix. It’s fallout from the new initialization order of modules. If you change your Able.uplugin to swap “AbleEditor” from Editor to DeveloperTool, it’ll fix the standalone crash. I’ll submit a fix tonight though, so you can also just wait for that.
Patch submitted. There’s no new version number (since it just fixes something in 4.24), but you should get the update as soon as Epic processes things.