Handbook/Supported Games

Supported Games

Compare support for Crusader Kings III, Victoria 3 and Europa Universalis V.

Updated Page history on GitHub

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 yes (since 0.3.1) no
Coat-of-arms editor Coat of Arms Designer Flag Builder Flag Builder
Content Creators (trait, legacy, culture, tradition, dynasty tree) yes no no
Running the Game (Run button, paradox-game configs) yes yes yes
Launch presets beyond debug mode and vanilla Map Editor, Continue Last Save, Skip to 1066 Lobby, Benchmark Map Editor, Continue Last Save none
Steam Workshop panel and publishing yes yes yes
Custom Calendars in the editor (hints, hover, Insert Date) yes yes yes
Generate Calendar Localization (the game side) yes no no

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.
  • Since 0.3.1, the GUI Editor opens Vic3 files (declared types preview without an instance, multi-line data functions parse), completion ranking and scope inference are Vic3-native (audited on 1215 real cursor positions across three workshop mods), and the error.log watcher reports in-game script and GUI errors.
  • The Flag Builder composes and saves Vic3 coats of arms, verified against the full vanilla flag set (1694 flags parse and render).

Permanently absent for Vic3, because the game does not ship them: the _*.info format-docs layer and a wiki fallback.

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.

The Flag Builder is enabled for EU5 too, stage roots included. EU5 launches from the Run button like the other two, but ships no extra launch presets: its list is debug mode and vanilla, and the Map Editor entry does not appear.

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>/.px-toolkit/schema.json overlay in your mod (see Multi Mod and Translation), and please file a Schema gap issue so the table improves for everyone.

What the descriptor shape decides#

CK3 mods carry a descriptor.mod; Victoria 3 and EU5 mods carry .metadata/metadata.json. Two features branch on that difference rather than on the game name.

Where a published Workshop id is stored. Uploading from the Steam Workshop panel writes the id back where each game's own tooling looks for it: remote_file_id in descriptor.mod on CK3, and .px-toolkit/workshop.json on Victoria 3 and EU5, whose metadata.json has no field for it. Publishing itself works the same on all three, through the running Steam client.

How New Mod links a mod project into the game. In the mod projects layout the mod content lives in <project>/mod, and the game finds it through a link in its own mod folder: a small <name>.mod path file on CK3, a directory link (a junction on Windows, no admin rights needed) on Victoria 3 and EU5.

Calendars#

The Custom Calendars editor features (inlay hints, hover, Paradox: Insert Date) are engine-level and work on all three games. Paradox: Generate Calendar Localization is CK3 only: it overrides the engine's date-format loc keys, and only CK3's key names have been verified against the game's files and binary. On Victoria 3 and EU5 the command says so and writes nothing.

Per-game file names#

config folder tiger conf structural diagnostic source error.log source
CK3 .px-toolkit/ .px-toolkit/ck3-tiger.conf ck3-script ck3-game
Victoria 3 .px-toolkit/ .px-toolkit/vic3-tiger.conf vic3-script vic3-game
EU5 .px-toolkit/ none eu5-script eu5-game

The config folder is the same on every game since 0.4.0; the per-game .ck3modding/, .vic3modding/ and .eu5modding/ folders are still read and are renamed on the first write (Upgrading). 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.

Found something missing or out of date?

Suggest a correction ↗Original wiki page ↗