For developers who came here:
Basically this page is talk about to add custom game logic to an UDataTable Object.
You can understand this demand by an UDataAsset with an TMap in it:
UCLASS(BlueprintType)
class UCustomDataTable : public UDataAsset
{
GENERATED_BODY()
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TMap<FName, FTableRow> MapData;
..............
UFUNCTION(BlueprintCallable)
void CustomFunction();
..............
};
- UDataAsset can have custom game function, but don’t have an Row-Column view in UE Editor
- UDatatable can have an Row-Column view, but developer would face problem when they try to inherite from UDataTable, like Valerik87 did.
I haven’t try the inherite process, but since someone tried it for me, I think it would be better to use an functionlibrary to work with UDataTable.