<aside> ⚙
Tested Engine 5.4
</aside>
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 .
UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (GetOptions = "GetNames"))
FName NameSelection;
UFUNCTION()
TArray<FName> GetNames() const
{
return { "Carl", "Dennis", "Emil" };
}
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;
}
UPROPERTY(EditAnywhere, BlueprintReadOnly, meta = (GetOptions = "Categories"))
FName Category;
UPROPERTY()
TArray<FName> Categories;

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>