"Remove Data Table Row" causes crash of editor (UE5.6)

I am making an editor plugin and one of its functions needs to add and remove rows to data tables (editor only, not at runtime). Everything has been working perfectly since at least 5.3 up to 5.5, but now in 5.6, when trying to remove a row from a table using the blueprint node “Remove Data Table Row” from the data table function library it causes a crash of the editor. I have also tried in c++ to call RemoveRow(FName RowName) from DataTable.h but it caused the same crash and error.

Assertion failed: Pair != nullptr [File:D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Containers\Map.h] [Line: 729]

I have already submitted a bug report but I am wondering if anyone else has experienced this issue? I’ve tested this in a new project and I have verified my engine. Workarounds are very welcome! I cannot publish my plugin until this is fixed or I have a suitable solution, which is a real bummer.

Steps to replicate:

  1. Create a new data table using any struct. I used GameplayTagTableRow for this test.
  2. Call the data table TEST_TABLE.
  3. Add several rows to the table and save the table.
  4. Create a EditorUtilityWidget.
  5. Add a data table variable to the widget, compile, and set the data table variable to TEST_TABLE
  6. Add a button to the widget and implement the On Clicked event
  7. From On Clicked, add the node “Get Data Table Row Names” and use the Get (0) to Get the Name of the first row.
  8. Use the “Remove Data Table Row” node to remove the first row of the table.
  9. Compile and Run the Utility Widget.
  10. Click on the button


Assertion failed: Pair != nullptr [File:D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Containers\Map.h] [Line: 729] 

UnrealEditor_Core
UnrealEditor_Engine
UnrealEditor_Engine
UnrealEditor_Engine
UnrealEditor_Engine
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_UMG
UnrealEditor_UMG
UnrealEditor_UMG
UnrealEditor_Slate
UnrealEditor_Slate
UnrealEditor_Slate
UnrealEditor_Slate
UnrealEditor_Slate
UnrealEditor_Slate
UnrealEditor_Slate
UnrealEditor_ApplicationCore
UnrealEditor_ApplicationCore
UnrealEditor_ApplicationCore
UnrealEditor_ApplicationCore
user32
user32
UnrealEditor_ApplicationCore
UnrealEditor
UnrealEditor
UnrealEditor
UnrealEditor
UnrealEditor
UnrealEditor
kernel32
ntdll
2 Likes

Hey there, I get the same crash. Maybe you’ve come up with a workaround since this post.

However here’s my workaround - indirectly. I’m using a DataTable plugin from the Marketplace, there are quite a few which have similar functionality. One of the common functions these plugins have is to fill a datatable from a CSV file or string.

Using this function (or one you write yourself in C++) to import a CSV string containing only the top level column name row:

e.g. the string: “---,ColumnName1,ColumnName2"

Will effectively empty the DataTable.

This bug has been fixed in 5.7. It seems they aren’t going to fix it for 5.6 for some reason. I have confirmed that it is fixed in the new version. So I guess upgrade if you can.