Chooser with Gameplay tag as output causes Evaluate Choose to not compile.

Hi there!

I need to create a chooser that outputs a GameplayTag.

But when creating a Chooser table with a Gameplay Tag as Output Parameter, the Blueprint using Evaluate Chooser doesn’t compile. See repro steps.

The FGameplay tag has a native make function that prevents being “Made” within the EvaluateChooser node. See “UK2Node_MakeStruct::CanBeMade” and the FGameplayTag Struct definition in GameplayTagContainer.h.

I found two workarounds for this :

The first is to remove that meta “HasNativeMake”, the function “MakeLiteralGameplayTag” seems pretty useless, but I have no Idea what it’s doing, and I cannot size the side effect of that.

The second is to modify the code in EvaluateChooserNode.cpp to make the Struct GameplayTag hidden under a “UK2Node_TemporaryVariable”.

Is that a known issue?

Is there a better way to do this?

Steps to Reproduce
Create a new “Chooser Table” using the plug-in Chooser.

Select “No Primary Result Chooser” as Chooser Type

In Table Settings, add a Struct parameter GameplayTag set to output direction, and add any input parameter (For example: Actor class)

Add a Bool value of your input parameter class (or any values).

Add an output struct with a Gameplay tag.

Add rows with random values.

In any blueprint (Level Blueprint), add an Evaluate Chooser node and select the Chooser Table.

Make sure the Entry pin is connected, then hit compile. You’ll get the error: “The structure Evaluate Chooser: NewChooserTable is not a BlueprintType.”

Hi there,

I’ve been looking into this issue and I can reproduce the error using your reproduction steps and using the project you have provided. I also tested this out with multiple different structs instead of FGameplayTag and noticed the same errors e.g Rotators, WorldContext etc. This behavior does not seem correct to me, it’s possible that this type of chooser is not meant to handle certain struct types. Though if that’s the case I was unable to find any documentation or statements on the matter. I have submitted a bug report for this which you can view here once it is tracked publicly.

Thank you,

Louis