Author numeric data with CSV
Import into a compatible table, inspect the change and save explicitly.
Create a compatible table
Use a standard Unreal DataTable with row type FScientificNumberTableRow. The fields are Value, DisplayName, Description and Category; the DataTable row name is the identity.
Name,Value,DisplayName,Description,Category
Coins,"(Base=1.25,Exponent=3)",Coins,Initial balance,Economy
The plugin’s ImportFromCSV also accepts legacy columns Name,Base,Exponent,DisplayName,Description,Category. Use native number syntax to retain the mantissa and exponent, not rounded interface text.
Understand the merge
- Import a valid CSV through the plugin’s ImportFromCSV API and inspect its return value and error text.
- With
bReplaceExisting=false, existing rows remain intact and new rows are added. - With
true, matching rows are replaced and new rows are added. Rows absent from the CSV are not deleted. - Inspect the resulting table before saving the asset.
The complete input is validated before changes. An invalid import leaves existing rows and unsaved edits unchanged; a valid import marks the asset dirty but does not silently save it.
Undo and limits
Real changes to editor asset tables create one Undo transaction per native service call. Undo/Redo restores updates and added/replaced rows. Rejected and unchanged operations do not create extra Undo entries. Runtime transient tables have no editor history.
The native CSV boundary is 8 MiB UTF-8, 100,000 rows in the merged table, at most six columns and 4,096 characters per field. Row names must be nonempty, unique ignoring case, not None, and satisfy Unreal’s name length rules. Export is deterministic by row name and rejects invalid data without returning a partial CSV.