Skip to content

Supported Games

Joël Deffner edited this page Aug 11, 2026 · 1 revision

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.

What each game gets

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.

How the game is picked

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).

Dumping your own game data

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.

Victoria 3

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-loc warning means something.
  • A 579-widget GUI schema for .gui completion and the widget tree.
  • vic3-tiger auto-downloads and runs like ck3-tiger does. error.log diagnostics are sourced vic3-game, structural ones vic3-script.
  • Simulate Event reads Vic3 events properly: the flavor line (present on 2,073 of 2,261 vanilla events) resolves through your localization and shows under the description, and cancellation_trigger is walked as its own step right after the trigger it re-checks.
  • Vic3 reads the plural common/on_actions folder, 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).

Europa Universalis V

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 = { … }, plus INJECT, 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.

Per-game file names

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.

Not supported

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.

Clone this wiki locally