You can likely just move GameplayTagsEditor to AbleEditor.build.cs. GameplayTags used to have some weird dependencies even if you were just using the simple data types.
It builds fine by us too. Itās the packaging thatās problematic. The packaging process starts building for cooking and suddenly starts compiling editor code for no reason.
EDIT: Weāre trying to cook now an empty project with just able to confirm if it really is the problem.
Thanks for the elaboration @. Iām taking my time figuring out how I want to use this plugin, but the end goal is to use C++ and be able to create abilities at runtime. Iām hoping to use Able as an interpreter for a domain specific language. Abilities will be able to be created with that language and then executed using Able (all without recompiling).
Iām still inspecting the Able codebase and trying to figure out how I should go about constructing the DSL still. It looks like I should create some generic UAblAbility classes and then programmatically add tasks to the m_Tasks property based on what is written with the DSL. After creating the ability, it also looks like there is a validator that can be used to check for things like circular dependencies. That doesnāt seem too complicated, but as the author of the plugin do you have any tips/suggestions for my use case?
Iām probably not going to make the DSL too open ended. A single component of an ability may be a group of components that all do something. There may also be a chain of Able abilities that make up the ability that will be expressed with the DSL as well. Iād like to support things similar to the chain lightning tutorial, except the ability will be created at runtime. Thatāll take a bit of thought to get figured out, but itās probably possible.
Nope. You pretty much have it figured out. Just make sure the Hash for the ability name is being calculated properly as that is used as an identifier everywhere. If you are creating a new object and then setting the name, youāll need to add a method or something to recalculate that hash. Thatās the only āgotchaā I can think of off the top of my head.
Hey
I am doing something new now.
I am gonna try and put this into AI Behaviour Toolkit So instead of play animations it will play ability
What do you think?
haha ,
You a Genius, doing a Lot of research and planning. Game is gonna be just all Gameplay Tags and Data tables!
Since there is so much involved in this game, Like only certain things can kill different things
Vampires can only be decapitated and Ghosts can be attacked by Iron or salt for example, Using Gameplay Tag containers in the datatables in order to get the info on the enemies
Gonna make a couple of Actor components and BPI also and base all characters including enemies and players off base character in it
I found that a lot of function is unavailable in AblAbilityās blueprint.Is there any way to call get controller,or get all actor of class,BlueprintFunctionLibrary?
May be this is a bug?I make a collision task in able,the collison channel set to my custom channle named āenemyā,of course I set all enemy to the this channel.
then I override On Collsion Event function, when the function called,in Hit Entities,it never get enemy.I set collision task channel back to WorldDynamic,and it works fine.
In my enemy blueprint nothing is in WorldDynamic channel,they all in āenemyā channle.
If I set Query source to Target Actor,when Target Actor is null, it will crash editor in
AActor* SourceActor = m_QueryLocation.GetSourceActor(*Context.Get());
I know Iām in a wrong way to use query task,but how ever it should not crash,you can give a message to tell user itās wrong.
I would double check your collision settings. Sounds like somehow your enemies are getting put on the WorldDynamic layer. Able just passes things along to the underlying collision query call, but Iāll double check to make sure.
So, normally I actually prefer crashing than limping along. The crash is the message, in a way. However, this case may be a bit overzealous. Iāll see if I can make it more forgiving.