I’m using animation from Lyra in my own project.
The animation uses Blueprint Thread Safe Update Animation.
It checks variables like GameplayTag_IsFiring. (I’m assuming this was tied to a GameplayTag and the Ability System Component which I’m not using.)
But I need to be able to set that variable. I can create my own IsFiring variable or using Cast to ABP_Mannequin_Base set GameplayTag_IsFiring, but there’s an odd thing happening where…every time I open my project it won’t work, until I compile ABP_Mannequin_Base. Then it works until I reopen the project again.
The BlueprintThreadSafeUpdateAnimation function is where all the variables are being calculated. Look through there (and all the functions it calls) to see how it is calculating those.
That’s what the image shows, and is the only spot that variable occurs. I believe they had it tied in with their Lyra Anim Instance parent class which isn’t viewable. It should work like shown as far as I can tell, but needs to be compiled every time its opened for that variable to work, which I don’t understand.
ULyraAnimInstance is in the C++. It is a vital part of Lyra’s animation system. It defines this (amongst other things):
// Gameplay tags that can be mapped to blueprint variables. The variables will automatically update as the tags are added or removed.
// These should be used instead of manually querying for the gameplay tags.
UPROPERTY(EditDefaultsOnly, Category = "GameplayTags")
FGameplayTagBlueprintPropertyMap GameplayTagPropertyMap;
There are other things Epic has added to this class to make their animation system work. If your base classes don’t implement the same behavior as ULyraAnimInstance then you’ll likely have issues, perhaps like what you’re experiencing.