-
Notifications
You must be signed in to change notification settings - Fork 1
Supported Games
The toolkit covers three Jomini-engine games. CK3 is the game it grew up on and is where every feature exists; the other two get the same language core, and this page says exactly where they stop.
| Crusader Kings III | Victoria 3 | Europa Universalis V | |
|---|---|---|---|
| Language support (completion, hover, navigation, references, rename, diagnostics) | full | full | full |
| Folder schema | 156 entries, verified against a live install | 72 entries, verified against a live install | 518 entries, community-sourced and not yet verified against a live install |
Engine vocabulary before you dump script_docs
|
bundled wiki tables + dump snapshot | bundled dump snapshot | none yet |
| Deep validation | ck3-tiger, auto-download | vic3-tiger, auto-download | none exists yet |
| Sidebar views, event graph, event simulator, mod report, coverage | yes | yes | yes |
.gui language support and Widget Tree |
yes | yes | yes |
.gui visual editor (drag, resize, inspector writes) |
yes | no (the layout engine is calibrated against CK3) | no |
| Bundled AI modding skill | yes | no (CK3 content) | no (CK3 content) |
No CK3 behavior was traded away for the other two games. Same schema, same bundled wiki data, same tiger integration, byte-identical completion ranking.
px.gameId defaults to auto, which reads the mod's descriptor shape:
| What the mod folder looks like | Detected as |
|---|---|
descriptor.mod, no .metadata/
|
Crusader Kings III |
.metadata/ plus stage folders (in_game/, main_menu/, loading_screen/) |
Europa Universalis V |
.metadata/metadata.json alone |
Victoria 3 |
| anything else | Crusader Kings III |
The ladder ends in CK3, so existing CK3 workspaces are unaffected. Set px.gameId to ck3, vic3 or eu5 explicitly if detection ever guesses wrong. The Project view names the active game with an "auto-detected" or "set manually" badge, and clicking that row changes the setting.
One game per window. px.gamePath, px.logsPath and px.tigerPath always describe the active game and are honored whenever you set them; leave them empty and each game is detected on its own (Steam library, Documents).
The bundled snapshots get you started, but your own dump matches your exact game version and always wins. Launch with -debug_mode, open the console, run the command, then run Reload Game Data (script_docs) in VS Code.
| dump folder | data-types console command | |
|---|---|---|
| CK3 | Documents/Paradox Interactive/Crusader Kings III/logs |
DumpDataTypes |
| Victoria 3 |
Documents/Paradox Interactive/Victoria 3/docs (data types land in logs/data_types) |
dump_data_types |
| EU5 | Documents/Paradox Interactive/Europa Universalis V/docs |
dump_data_types |
Note the folder difference: Vic3 and EU5 write script_docs to docs/, not to logs/. Auto-detection knows this per game. Run Setup & Health Check names the right console command for whichever game is active, and puts the dump at the top of its report when it is missing.
The dump format differs too: CK3 emits the classic block format, Vic3 and EU5 emit markdown (## name, **Supported Scopes**) with two different modifiers.log shapes. All three are parsed. You do not have to care, but it is why "just point it at the logs folder" was not enough.
First-class as of 0.3.0, verified against a live install rather than assumed:
-
72 schema entries, checked folder by folder against the real game tree. Its required-localization patterns follow the same rule as CK3's: a pattern only ships if at least 95% of vanilla definitions actually satisfy it, measured against the real loc keys, so a
missing-required-locwarning means something. - A 579-widget GUI schema for
.guicompletion and the widget tree. -
vic3-tiger auto-downloads and runs like ck3-tiger does. error.log diagnostics are sourced
vic3-game, structural onesvic3-script. -
Simulate Event reads Vic3 events properly: the
flavorline (present on 2,073 of 2,261 vanilla events) resolves through your localization and shows under the description, andcancellation_triggeris walked as its own step right after the trigger it re-checks. - Vic3 reads the plural
common/on_actionsfolder, unlike CK3. The schema knows.
Permanently absent for Vic3, because the game does not ship them: the _*.info format-docs layer, a wiki fallback, and the pixel-accurate GUI editor (its layout engine was calibrated against CK3 in-game screenshots).
EU5 ships community-sourced and says so. The folder-to-definition table (518 entries over 131 kinds) is machine-imported from the types = { } blocks of kaiser-chris/cwtools-eu5-config (MIT, pinned commit), and it has not been checked against a live install.
The blast radius is bounded on purpose:
- Only a small hand-verified set of reference fields, each confirmed by both the CWT rules and EU5's own dumps.
- Zero required-localization patterns, so a wrong entry costs you navigation and can never produce a false error squiggle.
- 54 upstream types that did not import cleanly were dropped loudly and are listed rather than guessed at.
Validated end to end against the MEIOU and Taxes for EU5 corpus.
Two EU5 specifics the toolkit models:
- Content sits under load-stage roots (
in_game/,main_menu/,loading_screen/) at the mod root, and schema paths carry that prefix. - Database keys carry entry modes:
REPLACE:my_law = { … }, plusINJECT,TRY_INJECT,TRY_REPLACE,INJECT_OR_CREATE,REPLACE_OR_CREATE. Those are indexed as the definitions they are.
No eu5-tiger exists (amtep/tiger covers ck3, vic3 and imperator), so tiger integration is absent for EU5 and the toolkit says so instead of pretending.
Fixing a gap without waiting for a release: drop a <mod>/.eu5modding/schema.json overlay in your mod (see Multi Mod and Translation), and please file a Schema gap issue so the table improves for everyone.
| config folder | tiger conf | structural diagnostic source | error.log source | |
|---|---|---|---|---|
| CK3 | .ck3modding/ |
ck3-tiger.conf |
ck3-script |
ck3-game |
| Victoria 3 | .vic3modding/ |
vic3-tiger.conf |
vic3-script |
vic3-game |
| EU5 | .eu5modding/ |
none | eu5-script |
eu5-game |
Descriptor checks use the source px-descriptor in every game.
Hearts of Iron IV and Stellaris are pre-Jomini, ship no script_docs dumps and have no tiger build, so all three of the things this toolkit derives its knowledge from are missing. They are not on the roadmap.