-
Notifications
You must be signed in to change notification settings - Fork 1
Feature Overview
A tour of what the Paradox Modding Toolkit does. Every screenshot is the extension running on a real mod (Cultivation: The Path to Immortality). Each section links to the wiki page with the full details.
Three games are supported: Crusader Kings III, Victoria 3 and Europa Universalis V. The feature matrix and what each one gets is on Supported Games.
The Paradox icon in the activity bar opens the Project view: the detected game, every workspace mod with its own focus and indexing switches, live toggles for the things you turn on and off all day, and the tool launchers grouped by what they do.

Underneath it sit the mod views: content inventory, Problems by Type, Localization Coverage, Overrides & Conflicts and Dependencies. With several mods open, they show one mod at a time, either following the file you are editing or pinned to the mod you picked. See Sidebar Views.
Scope-aware completion. Key positions offer verbs (triggers, effects, scope targets, your own scripted effects), value positions offer nouns (traits, events, on_actions, loc keys), and prefixes like scope:, culture: and title: complete their referents. Items valid in the current scope rank first by real vanilla frequency; the rest are annotated, never hidden.
Hover docs, merged. Documentation from your own script_docs dumps and, on CK3, the bundled wiki lists, plus the supported scopes, the live scope chain at the cursor, resolved localization text, your own # comments above a definition, a clickable definition link and reference count, and inline .dds texture previews.
Navigation. Go to definition, find all references, rename across script and localization at once, workspace symbols, signature help for $PARAM$s. It all spans your mod, its parent mods and vanilla.
Every multi-line block is an outline entry at any depth, so breadcrumbs and sticky scroll show the real path instead of stopping two levels in.

The same holds in .gui files (the nested widget tree, with declarations labeled) and localization files. Folding works in all of them, and descriptor.mod and the bundled _*.info docs fold and outline too. See Editor Features.
Structural diagnostics, instantly. The toolkit catches the silent-failure class as you type: unbalanced braces, missing UTF-8 BOM, localization header and filename mismatches, folder-name traps, unknown event references, missing required loc. These are certain errors with no false positives, so they run live. Every code and its in-game consequence is in Configuration.
tiger, integrated. Semantic validation is delegated to tiger, as ck3-tiger or vic3-tiger depending on the game. Run it from the status bar, Ctrl+Alt+V, or on every save. Reports land in the native Problems panel with the tiger error key, so # px:ignore suppression works on them too. The toolkit downloads and updates the binary, generates a conf, snapshots a baseline so a legacy mod only surfaces new problems, and runs tiger's unused-definition scan. Your dependency mods are passed to tiger as load_mod entries, so a submod's references into its parents resolve instead of coming back unknown.
The running game, in your editor. Launch in debug mode and the error.log watcher turns the game's own script errors into squiggles on your files as they happen, multi-line Script system error! blocks included.
Simulate Event lays an event out in firing order (trigger, immediate, every option, after), with the title, description and option names resolved through your localization and each block printed back as readable script.

Every onward trigger_event is a step-into link, so you can walk a whole chain with a breadcrumb and a Back button without opening ten files. Nothing is invented: an unresolvable reference is labeled as one.
Show Event Graph draws your events, on_actions and decisions as an interactive graph. Select a node and everything outside its neighborhood dims: blue is what it fires, orange is what fires it.

The inspector edits an event's localized title, description and options in place (written back BOM-correct), scaffolds new options, and jumps to every scope, variable and scripted effect the event references. The query box completes on your mod's real event ids, and the graph exports as SVG.
When a matching .info format doc exists in the game directory for the file you are editing, a title-bar button opens it side by side: Paradox's own schema documentation, syntax highlighted, right next to your file. (CK3 only, the other two games ship no .info docs.)

Inside an .info doc, another title-bar button lists the vanilla files in the same folder, so you can jump from the schema straight into real working examples.

Show GUI Widget Tree renders any .gui file as a collapsible hierarchy: windows, containers, widgets, templates and animation states, with type badges, filtering, click-to-jump (which also flashes the line in the source) and auto-refresh on save. Focus subtree pins one branch so you can work inside it without re-narrowing.

Open GUI Editor (Ctrl+Alt+P) draws your window with the measured layout engine and lets you work in it: click to select the widget you meant, read every property with the template or type it came from, drag and resize on the canvas, multi-select, use layers, guides and a component palette.
Three things it does that a preview cannot: it writes your file with one surgical edit per gesture (comments, tabs and single-line bodies survive, and it is one Ctrl+Z), it writes the value rather than the cursor so anchored widgets land where you dropped them, and it turns a gesture down before it moves when the engine would ignore what you asked for. CK3 only. See GUI Editor.
Hover any .dds path and the texture is decoded and shown inline, mod-first, so you see the file the game will actually load. Click a .dds file and it opens in a zoomable viewer with format, dimensions and an alpha checkerboard. DXT1/3/5, BC7 and uncompressed are supported, by a pure-TypeScript decoder with no external codecs.
Right-click a PNG, JPEG or WebP to convert it to DDS, and run Show Image Guidelines for the sizes and formats vanilla actually uses, measured from the game files. See DDS and Images.
Loc text shows inline as inlay hints, a quick fix edits a key's text in place (BOM-correct, routing vanilla overrides to localization/replace/), and the coverage view tracks missing, orphaned and untranslated keys per language with a one-click add.
Translation tooling goes as far as generating a complete standalone translation mod for someone else's mod: descriptor with the dependency, every loc file mirrored and blanked with the original text kept as comments, a playset so it resolves when opened alone, and a TRANSLATE.md with a ready-made AI translation prompt. See Multi Mod and Translation.
- Content scaffolding: New Content generates events, decisions, interactions and on_action hooks that are correct by construction (right folder, BOM, namespace declared, on_actions written as appends).
- Multi-mod workspaces: every mod in the workspace is indexed together, with read-only parent mods for submods and compatibility patches, and no primary mod to configure.
- Setup and health check: detects the game, the install, the mod folder and the dump folder, and tells you what is missing.
-
Not tied to VS Code: the language server is standard LSP over
--stdioand runs from neovim, Zed, Helix or your own application. See Outside VS Code. -
AI agent skill: a bundled
SKILL.mdthat teaches Claude (or any agent that reads skills) CK3 modding end to end. See Claude Skill.
For the full guided tour of the editor features, continue with Editor Features.