Skip to content

Upgrading

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

Upgrading from the CK3 Modding Toolkit

Version 0.3.0 renamed the product. The old CK3 Modding Toolkit (JDeffner.ck3-modding-toolkit) and the new Paradox Modding Toolkit (JDeffner.px-toolkit) are two separate Marketplace listings, so the old one will not update into the new one. You have to install the new listing yourself, and there are a handful of renames to sweep up afterwards.

The whole migration is about five minutes. Nothing about your mod files changes.

Why it happened

A CK3-only name and a ck3.* settings namespace stopped describing the product once Victoria 3 and Europa Universalis V arrived. Rather than keep a misleading name, the extension took the rename cost once. Internally the split is: px names the product (extension id, settings, commands, npm packages, the suppression comment) and ck3 still names the game (gameId, the .ck3modding/ folder, ck3-tiger, the ck3-script diagnostic source). So the things that are genuinely about CK3 kept their names.

CK3 users lose nothing. Same schema, same bundled wiki data, same tiger integration, byte-identical completion ranking.

1. Install the new listing, remove the old one

Search the Extensions view for Paradox Modding Toolkit (JDeffner.px-toolkit) and install it, then uninstall CK3 Modding Toolkit. Running both at once is not useful: they register the same languages and will fight over your .txt and .yml files.

2. Settings: ck3.* becomes px.*

Every setting kept its name and meaning and only changed its prefix.

Old New
ck3.gamePath px.gamePath
ck3.logsPath px.logsPath
ck3.tigerPath px.tigerPath
ck3.modPath px.modPath
ck3.parentMods px.parentMods
ck3.excludedMods px.excludedMods
ck3.locLanguage px.locLanguage
ck3.tigerRunOn px.tigerRunOn
ck3.diagnostics.ignore px.diagnostics.ignore
ck3.diagnostics.ignorePatterns px.diagnostics.ignorePatterns
ck3.diagnostics.vanilla px.diagnostics.vanilla
ck3.scopeInlayHints px.scopeInlayHints
ck3.enableForWorkspace px.enableForWorkspace
ck3.trace.server px.trace.server

The fastest path is to open settings.json (user and workspace) and replace "ck3. with "px. in those lines, then delete any ck3.* leftovers. Or simply delete them all and run Paradox: Run Setup & Health Check once: the machine paths are auto-detected anyway, and there is a new px.gameId to go with them (see Supported Games).

New in 0.3.0: px.gameId and px.trace.perf. Gone: ck3.tutorial, along with the bundled 10-chapter tutorial, which is becoming a tutorial website. The AI modding skill stays.

3. Suppression comments: # ck3m:ignore becomes # px:ignore

This is the one that fails silently. An old # ck3m:ignore comment suppresses nothing now, so diagnostics you had quieted will reappear.

The diagnostic codes themselves are unchanged, so a find-and-replace of the marker across your mod is the whole migration:

  • # ck3m:ignore# px:ignore
  • # ck3m:ignore-next-line# px:ignore-next-line

While you are there: a trailing -- reason is now parsed as a rationale and ignored, so # px:ignore unknown-event -- fired by the base mod works. (In the old build those rationale words were read as diagnostic codes, which broke the suppression entirely.)

4. Clear the stale .dds editor association

If you ever set VS Code's editor association for .dds files by hand, it points at the old custom-editor id ck3.ddsPreview, which no longer exists. Until you clear it, opening a .dds file breaks.

Check workbench.editorAssociations in your settings and remove any entry mentioning ck3.ddsPreview. The new id is px.ddsPreview, and it is the default for *.dds, so the setting is not needed at all.

5. Custom keybindings

Command ids moved from ck3.* to px.* too, so any keybinding you wrote by hand needs the same prefix swap in keybindings.json. Command names in the palette moved from the CK3 / CK3 Tiger / CK3 Localization categories to Paradox / Paradox Tiger / Paradox Localization.

The shipped defaults shrank from ten to five, because Ctrl+Alt+<letter> is AltGr on many European layouts and typing Polish or Spanish loc text was triggering commands. These five remain: Ctrl+Alt+T, Ctrl+Alt+J, Ctrl+Alt+V, Ctrl+Alt+P, Ctrl+Alt+H (see Configuration).

The five that were dropped kept their buttons and palette entries, and you can bind them yourself if you want them back:

Command id Old default
px.showGuiTree Ctrl+Alt+W
px.showEventGraph Ctrl+Alt+G
px.showDependencies Ctrl+Alt+D
px.openLocalizationSideBySide Ctrl+Alt+L
px.openInfoDocs Ctrl+Alt+O

Note that Ctrl+Alt+P now opens the GUI editor rather than the retired GUI Layout preview.

What did not change

  • .ck3modding/ keeps its name for CK3 mods (Victoria 3 and EU5 use .vic3modding/ and .eu5modding/). Your playset.json, schema.json and tiger-baseline.json are picked up as before.
  • Diagnostic codes are identical, and so are tiger's report keys.
  • The ck3-script diagnostic source for CK3, and ck3-tiger.conf.
  • Cached indexes survive: CK3 deliberately kept its legacy cache filenames.
  • Your mod files. Nothing in this release writes to them.

What else is new in 0.3.0

Victoria 3 and EU5 support (Supported Games), the visual GUI Editor replacing the old layout preview, the event simulator, a redesigned event graph and Project dashboard (Sidebar Views), full-depth outlines and folding in every language, bundled script_docs snapshots, dependency mods reaching tiger, and a language server that runs standalone outside VS Code (Outside VS Code). The full list is in the changelog.

Clone this wiki locally