<aside> ⚙

Tested Engine 5.4

</aside>

General

Generates a dropdown selection for FName and FString properties and arrays by using the meta=(GetKeyOptions="FunctionQuerryName") expression.

For TMaps you need to use GetKeyOptions and GetValueOptions .

Manual Setup

UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (GetOptions = "GetNames"))
FName NameSelection;

UFUNCTION()
TArray<FName> GetNames() const
{
	return { "Carl", "Dennis", "Emil" };
}

Function querry options

UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (GetOptions = "GetNames"))
FName NameSelection;

UPROPERTY(EditAnywhere, BlueprintReadWrite)
TMap<FName, float> DataTarget;

UFUNCTION()
TArray<FName> GetNames() const
{
	TArray<FName> LocalNames;
	DataTarget.GenerateKeyArray(LocalNames);
	return LocalNames;
}

Property as options

UPROPERTY(EditAnywhere, BlueprintReadOnly, meta = (GetOptions = "Categories"))
FName Category;

UPROPERTY()
TArray<FName> Categories;

Selectable function property option

image.png

UFUNCTION(BlueprintCallable)
void AddAvailableSkillPoint(UPARAM(meta = (GetOptions = "Categories")) FName Category);
	
UPROPERTY(EditAnywhere, BlueprintReadOnly)
TArray<FName> Categories;

<aside> ⚠️

Function drop down seems to only work with FName

</aside>