That’s strange because FTableRowHandle is defined:
/** Handle to a particular row in a table*/
USTRUCT()
struct ENGINE_API FDataTableRowHandle
{
GENERATED_USTRUCT_BODY()
FDataTableRowHandle()
: DataTable(nullptr)
, RowName(NAME_None)
{
}
/** Pointer to table we want a row from */
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=DataTableRowHandle)
const class UDataTable* DataTable;
/** Name of row in the table that we want */
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=DataTableRowHandle)
FName RowName;
static const FString Unknown;
/** Get the row straight from the row handle */
template <class T>
T* GetRow(const FString& ContextString = Unknown) const
{
if(DataTable == nullptr)
{
if (RowName != NAME_None)
{
UE_LOG(LogDataTable, Warning, TEXT("FDataTableRowHandle::FindRow : No DataTable for row %s (%s)."), *RowName.ToString(), *ContextString);
}
return nullptr;
}
return DataTable->FindRow<T>(RowName, ContextString);
}
};
I dont understand where should I expose it to make it work because it’s still the way it was written by Epic Devs (except #WITH_EDITOR). Does anyone know how to fix this?