Description

The editor-scripting blueprint node "Add Data Table Row" fails when the Data Table uses a Row Structure that was defined in blueprint. Internally, it checks if the passed-in UScriptStruct is derived from FTableRowBase, which fails for type UUserDefinedStruct.

Replacing 

const bool bIsTableRow = RowType->IsChildOf(FTableRowBase::StaticStruct());

with

const bool bIsTableRow = FDataTableEditorUtils::IsValidTableStruct(RowType);

is a potential fix.

Steps to Reproduce
  • Open UE 5.3
  • Create a Blueprint Structure asset and add some fields
  • Create a DataTable asset using that structure for its rows
  • Create an Asset Action Utility to operate on DataTable assets. - Implement a function to get the selected DataTable and call node "Add Data Table Row" on it. Make a struct for the "row data" input.
  • Right-click the DataTable asset and call the implemented ScriptedAssetAction on it.
  • The output log will display a warning message, and the row won't be added

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-205826 in the post.

3
Login to Vote

Backlogged
ComponentUE - Gameplay - Blueprint
Affects Versions5.3.2
Target Fix5.5
CreatedFeb 2, 2024
UpdatedFeb 7, 2024