StateTree Feature - Please support TScriptInterface as Input for FStateTreeTaskCommonBase

As it stands an Input cannot be an interface. Suppose I have a behavior which depends on an interface available in a given resource. Let’s say that resource isn’t available in the framework but rather is defined in the game.

Here’s an example:

USTRUCT()
struct FMyFrameworkPursueCalculationTaskData : public FMyFrameworkSteeringCalculationTaskData
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, Category = "Context")
	ACharacter* Source = nullptr;

	UPROPERTY(EditAnywhere, Category = "Input")
	TScriptInterface<IMyFrameworkPursueSteeringResourceInterface> Resource = nullptr;

	FVector StartDirection;
};

USTRUCT(meta = (Category = "MyFramework|Behaviors", DisplayName = "Pursue Calculation"))
struct FMyFrameworkPursueCalculationTask : public FMyFrameworkSteeringCalculationTask
{
	GENERATED_BODY()

	COURAGE_DECL_STATETREE_ENTER_OVERRIDE

	COURAGE_USE_INSTANCE_DATA_TYPE(FMyFrameworkPursueCalculationTaskData)

	void Calculate(FStateTreeExecutionContext& Context, FMyFrameworkSteeringData& Steering, float DeltaTime) const override;
};