Hello,
I posted a bug submission some days ago on [Link Removed], however I received a mail asking me to repost it here instead. So here I go, even if it's not a question per say.
Description: The WaitGameplayTagQuery node doesn't work with EGameplayTagQueryExprType::NoTagsMatch because of the UAbilityAsync_WaitGameplayTagQuery::EvaluateTagQuery implementation. Indeed, to test if the query matches, the line "const bool bMatchesQuery = !TargetTags.IsEmpty() && TagQuery.Matches(TargetTags);" is executed. However, it is incorrect, since with EGameplayTagQueryExprType::NoTagsMatch (and presumably EGameplayTagQueryExprType::NoExprMatch), the correct line would be "const bool bMatchesQuery = TargetTags.IsEmpty() || TagQuery.Matches(TargetTags);". Indeed, if the target tags array is empty, the query matches.
UDN Case: 00535139
Expected:
The WaitGameplayTagQuery node should resolve when the tested Actor loses the "Gameplay_Locked" tag.
Results:
The WaitGameplayTagQuery node will never resolve, thus the "Trigger" exec pin will never be reached.
Thank you,
—
I found it easiest to just create a Gameplay Ability that adds and removes loose tags while waiting for the GameplayTagQuery to succeed. That way all the logic is together.
Baptiste
How does TextureRenderTarget2D get TArray<uint8> type data?
How do I set a material as a post-processing material?
Why does the REMOVE method of map container remove elements have memory leaks?
What is the cause of the packaging error falling back to 'GameUserSettings' in ue5?
What is the difference between Camera and CineCamera?
How to delete some elements correctly when deleting an array loop?
How does TArray loop correctly remove elements in blueprints?
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-178485 in the post.
0 |
Component | UE - Gameplay - Gameplay Ability System |
---|---|
Target Fix | 5.3 |
Created | Feb 25, 2023 |
---|---|
Resolved | Feb 28, 2023 |
Updated | Apr 29, 2023 |