Quick answer: Unreal DataTableRowHandle silently returning null when the row was renamed? RowName is a string match; renames in the source CSV break references.
Designer renames 'sword_iron' to 'iron_sword' in the CSV. Every blueprint referencing the old name now reads null.
Use FDataTableRowHandle::IsNull
Check before use. Don't assume references are valid post-data-edit.
Audit on data import
Custom importer that compares old vs new row names. Any blueprint reference to a removed row is flagged for migration.
Or use enum-based IDs
For stable identifiers, use a UENUM and look up the row by enum value. The enum is refactor-safe; the string isn't.
“DataTable references are by string. String references rot when data evolves.”
Lock CSV editing behind a code-reviewed pipeline. Casual edits cause silent breakage; reviewed edits don't.