Similar to the engines FStateTreeRunEnvQueryTask, I have a similar state tree property reference declared identically
UPROPERTY(EditAnywhere, Category = Input, meta = (RefType = "/Script/CoreUObject.Vector, /Script/Engine.Actor", CanRefToArray))
FStateTreePropertyRef ContextItems;
But I noticed, that in the state tree, it’s not giving me the option to bind it to derived actor types.
To verify this, I changed it as such
UPROPERTY(EditAnywhere, Category = Input, meta = (RefType = "/Script/CoreUObject.Vector, /Script/Engine.Actor, /Script/TestProject.GameTeleportTargetActor", CanRefToArray))
FStateTreePropertyRef ContextItems;
By declaring the actor type explicitly, then property binding shows options to bind to that type, but I would expect that /Script/Engine.Actor would encompass any derived actor type, and that there is probably a missing IsChildOf somewhere in the code that
Perhaps in IsNativePropertyRefCompatibleWithProperty
[Image Removed]
[Image Removed]
Clearly this code needs an IsChildOf allowance, right?
The comment doesn’t make much sense, as it’s possible to allow implicit upcasting without allowing downcasting.
Seems like an easy fix, but I’m not sure if any downstream bugs could come out of this
[Image Removed]
[Attachment Removed]