Learn how to prepare and import CSV, TXT, JSON, and Foundry VTT files for use in Mythic GME Mobile.
| Requirement | CSV | TXT |
|---|---|---|
| File encoding | UTF-8 (with or without BOM) | UTF-8 |
| Line endings | Windows CRLF \r\n or Unix LF \n (auto-detected) |
CRLF or LF (auto-detected) |
| Table type declaration | table_type header present; value in first data row only (optional) |
Single line table_type: … at first OR last non-empty line (optional) |
| Valid values | meaning-table · event-focus |
same |
| Range coverage | Ranges must cover 1 → N with NO gaps/overlaps | Sequential numbers auto-generated (1-N) |
range_start,range_end,result[,tags][,entryRollOn][,id][,table_type]
table_type is optional but recommendedResult, result, RESULT all work)tags cells accept multiple tags separated by semicolons ;entryRollOn cells accept multiple targets separated by semicolons ;range_start,range_end,result,tags,table_type
1,20,Common,,meaning-table
21,40,Uncommon,,
41,60,Rare,,
61,80,Very Rare,,
81,100,Extremely Rare,,
range_start,range_end,result,entryRollOn,tags,table_type
1,10,Plot Point Event,random_plot_point_event,,event-focus
11,20,Plot Beat,random_plot_beat,,
21,30,Character Action,Characters,,
31,40,Character Negative,Characters,,
41,50,Character Positive,Characters,,
A TXT table is one entry per line – easiest for quick lists.
Add one of these lines at the first or last non-empty line:
table_type: meaning-table
or
table_type: event-focus
# My Custom Action List
# One verb per line
table_type: meaning-table
Abandon
Activate
Advance
Attack
Befriend
PSV files use endpoint notation where each line represents a cumulative range endpoint.
5|withdrawn
15|guarded
30|cautious
69|neutral
84|sociable
99|helpful
100|forthcoming
This produces ranges 1-5, 6-15, 16-30 … 100-100 automatically.
table_type declaration allowedrangeEnd# are treated as comments and ignoredThe app supports importing JSON tables that follow the Unified Table v3 schema:
tags, data, tableRollOn, entryRollOntableType is part of JSON; no separate declaration neededtableType values: meaning-table or event-focusFoundry imports are detected automatically when the JSON has a results array with entries containing _id, text, and a range array.
Before importing, confirm:
table_type matches intended tab (or pick the right tab)result, etc.)If any check fails, the app shows an exact error and refuses to save, so your data remains safe.
Your ranges have a gap or overlap. Double-check range_start / range_end.
If columns aren't visible, you may need to add data or adjust column visibility. See Google's official guide on working with columns for details. Enter table_type in the first data row, then leave the rest blank.
Weight-based rolling is coming soon. Currently, create range-based tables only.
Need Help? If you run into any issues following this guide, please contact me and I'll be happy to help you get your tables imported successfully.