State Tree Any Enum doesn't work with...any enum? Enum Compare in UE5.3.2

We just moved our project from 5.1 to 5.3.2, and now our NPC state tree states that use Enum Compare as an enter condition don’t work. If I try to bind the BP’s enum class variable to one side of enum compare, I get a red triangle with the hover text saying the binding is incompatible with “State Tree Any Enum” property, and the state tree doesn’t work

Again, the same state trees with the same bindings worked in 5.1

Does this have anything to do with the TObjectPtr being added to the FStateTreeAnyEnum struct’s Enum variable?

Either way, if this is a bug can anyone recommend a workaround?

1 Like

I’ve just run into this issue too.
I’ve found that if I create a State Tree Evaluator Blueprint (called like ‘AI Bindings’) then populate it’s variables with all the vars I need to bind to (including the enum) then the tree compiles normally anyway - even though it shows in UI as having an error.

1 Like

Yes, I have the same problem, it case unpacking. I think it’s a bug in UE5.3.

Same issue here. Compiled with no error yet not functional.

Same problem, Unreal shouldn’t have launched immature new features

In my case it’s working fine, it’s just that when I open the EnumCompare condition my IDE complains at FStateTreePropertyBindings::ResolveCopyType and says it does not match StateTreeAnyEnum but a part from that the logic is working fine at runtime.

I’m using enums like this:

UENUM(BlueprintType)
enum class EEnumType: uint8

and the enum property that I’m binding to in the StateTree is declared like this:

UPROPERTY(VisibleAnywhere)
EEnumType EnumType;

I get the warning too but it compiles and works at runtime—no idea why this special Struct type is not exposed in blueprints tho.

1 Like

Having the same issue, compiled but not functioning.