CustomThunk blueprint not work in class based UBlueprintAsyncActionBase

Steps to Reproduce

  1. Create a class based UBlueprintAsyncActionBase
  2. Create a blueprint function ( with CustomThunk)

Code:

MyBlueprintAsyncActionBase.h

#pragma once

#include "CoreMinimal.h"
#include "Kismet/BlueprintAsyncActionBase.h"
#include "MyBlueprintAsyncActionBase.generated.h"

UCLASS()
class BPVPP_API UMyBlueprintAsyncActionBase : public UBlueprintAsyncActionBase
{
	GENERATED_BODY()
	
public:
	UFUNCTION(BlueprintCallable, CustomThunk, meta = (CustomStructureParam = "Data", BlueprintInternalUseOnly = "true"))
	static UMyBlueprintAsyncActionBase* TestFunction(const int32& Data);

public:
	DECLARE_FUNCTION(execTestFunction)
	{

	}
};

MyBlueprintAsyncActionBase.cpp

UMyBlueprintAsyncActionBase* UMyBlueprintAsyncActionBase::TestFunction(const int32& Data)
{
	return nullptr;
}
  1. Call this function in blueprint
  2. Pass a struct instance for “Data” param.
  3. Compile the blueprint
  4. See a error “The type of Data is undetermined. Connect something to Test Function to imply a specific type.