Skip to main content
Version: Next

FAQ and troubleshooting

Look up by symptom. CLI arguments follow CLI (older docs may say export_exclude_tags; use --excludeTag now).

Tables and primary keys

Q: How is the primary key defined?
A: The table’s index. For map tables without mode/index, mode=map and the first field of the record bean is often the key.

Q: How to write it in __tables__?
A: Put the key field name in the index column, e.g. my_index:

full_namevalue_typeread_schema_from_fileinputindex
TbTestTesttrueequip.xlsxmy_index

XML equivalent: <table name="TbTest" value="Test" index="my_index" .../>

Q: Multiple primary keys?
A: In list mode, a+b is a joint index; a,b are independent indexes. See Excel Schema.

Q: Singleton global table?
A: mode=one / singleton; can pair with vertical tables.

Source files and organization

Q: Which source file types are supported?
A: Excel family (csv, xls, xlsx, xlsm, etc.), json, xml, lua, yaml.

Q: Can data come from multiple files?
A: Yes. Use a.xlsx,b.xlsx or sheet@file.xlsx; see Excel basics and import modules.

Q: Can multiple tables share one xlsx?
A: Yes, different sheets; input can be Sheet1@a.xlsx,Sheet2@a.xlsx.

Q: Does xlsx read the first sheet or all sheets?
A: All sheets; sheets whose A1 does not start with ## are ignored.

Q: How to add a non-data sheet?
A: Do not start A1 with ## on that sheet.

Q: How to comment out columns/rows?
A: Empty column name or name starting with #; data rows starting with ## in the first column are not exported.

Groups and filtering

Q: Different fields for client and server?
A: groups + ##group or field group; see groups.

Q: Exclude some rows from the package?
A: Excel first column is tag; ## permanently comments; tags like dev with --excludeTag dev. See tags.

tag filtering

JSON / directory sources

Q: One json per record — too many files to list in input?
A: Set input to a directory; non-Excel files default to one record per file. See Non-Excel sources.

Q: Multiple records in one json?
A: Must use *@xxx.json.

Q: Read from a nested json field?
A: Single record a.b.c@xx.json; list *a.b.c@xx.json.

Q: Multiple tables in one json?
A: Like Excel: field@xx.json or *field@xx.json per table.

Generation failures

Q: Lots of type errors?
A: Check table/field names in the error; verify ##type matches Schema.

Q: ref failed?
A: Id does not exist, or you wrote 0 without nullable ref ref=?.

Q: path validation not working?
A: Need -x pathValidator.rootDir=....

Loading issues

Q: Runtime cannot read data?
A: Check codeTarget vs dataTarget; loader path must point at generated output.

Q: Async loading?
A: No built-in async wrapper; customize templates or load files yourself.

Q: Reuse existing enums/structs from the project? e.g. UnityEngine.AudioType, UnityEngine.Vector3
A: Yes, via TypeMapper (external type mapping); mainly C# today. See TypeMapper.

Project issues

Q: Files disappeared from the output directory?
A: Output dirs are cleaned by default; do not point at hand-written code.

Q: Multiple languages overwrite each other?
A: Set separate *.outputCodeDir / *.outputDataDir per -c/-d.