FDataTableRowHandle using meta = (RequiredAssetDataTags = "RowStructure=S_StructName")?

Is it possible to limit the UDataTable Property within an FDataTableRowHandle struct to a specific struct type?

The next example is not working for the FDataTableRowHandle. Is there a solution?

UPROPERTY(meta = (RequiredAssetDataTags = "RowStructure=S_StructName"))
  FDataTableRowHandle DT = FDataTableRowHandle();
1 Like
UPROPERTY(meta = (RowType="MyStruct"))
UDataTable* Table;

OR

UPROPERTY(meta = (RowType="MyStruct"))
FDataTableRowHandle RowHandle;
4 Likes

Thanks, this is very useful info. I think it is not yet in docs.unrealengine.
I’m going to test it asap.

1 Like

Perfect, thanks again. Structs name in RowType is entered without the F prefix.
Can this information be added to: ?

2 Likes

The vast majority of custom meta specifiers are not in that documentation page because it’s auto-generated from the global ones.

Items like “RowType” are part of special Detail Customisation classes that look for custom meta markup. Unfortuantely there’s no easy way to parse them all.

3 Likes

In UE 5.2 this no longer works for UDataTable, in order to make it work you need to use this:

UPROPERTY(Meta=(RequiredAssetDataTags = "RowStructure=/Script/Aura.UIWidgetRow"))
TObjectPtr<UDataTable> MessageWidgetDataTable;

You can find the exact name here (picture below), it’s usually ModuleName.StructName (without the initial F)

4 Likes

Funny thing, you can’t add spaces before and after =
RowStructure=/Script/ works.
RowStructure = /Script/ does not.

3 Likes

Thanks for letting us know :slight_smile: I’m always formatting things with spaces, this is easy to break then.

1 Like