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.