Features

Everything Focus Forge does.

A complete editor for Hearts of Iron IV and Millennium Dawn focus trees — the visual canvas, the real game data, structured authoring, validation and byte-identical export, plus an AI bridge that can build the tree for you.

Byte-identical HOI4 exports, BOM and all
125 importable Millennium Dawn trees
~1,000 idea modifiers, grouped & searchable
1,700+ opinion modifiers with live values
985 techs, grouped by research folder
498 country tags wired into every picker
01

The canvas

A node-graph editor that mirrors how a focus tree actually looks in-game.

WYSIWYG, in-game-accurate nodes

Every focus is a bracket-framed icon with a name plate below it — the same vertical layout HOI4 draws. Prerequisite lines route orthogonally in steel-blue; mutually-exclusive focuses are joined with a red link. You can judge the in-game look while you build.

Drag to connect

Drag from a node’s bottom port onto another focus to make it a prerequisite — a live dashed preview routes as you go, then snaps to a clean orthogonal edge. Drag onto empty canvas to spawn a connected child in one motion.

Right-click everything

Context menus on nodes, edges and empty canvas: add a child, create a focus here, delete a focus, or delete a connection (prerequisite or mutex).

OR-group prerequisites

Model “any one of these unlocks it” directly: prerequisite chips show a group as “a | b”, OR alternatives draw as dashed edges, and right-clicking a connection switches it between required (AND) and an OR alternative.

Multi-select, copy & paste

Ctrl+click or rubber-band a group of focuses, then drag, copy, duplicate or delete them together (Ctrl+C / V / D). Pasted branches keep their layout and internal links, and references to anything you remove are cleaned up automatically.

Undo everything

Undo & redo across the whole app — 50 steps, Ctrl+Z / Ctrl+Y or the toolbar buttons.

Tree shortcuts

Author the clickable branch bookmarks big trees show in the bottom-left in-game — they export and re-import exactly like vanilla Millennium Dawn trees.

Search-highlight

A search box filters the focus list and highlights matches on the canvas with an amber ring while dimming everything else — find any focus in a big tree instantly.

Tag-aware ids

New focuses are auto-prefixed with your country tag (e.g. LBA_…), following HOI4 convention, however you create them.

02

Real in-game content

The actual game art and data, detected and indexed for you.

Genuine .dds focus icons

Qt can’t read HOI4’s DDS art, so Focus Forge ships its own pure-Python DDS decoder (uncompressed + DXT1/3/5). Nodes render the real icons — with a clean bracketed abbreviation as a fallback when one can’t be resolved.

Searchable icon picker

Browse thousands of base-game and Millennium Dawn focus icons in a searchable thumbnail grid and assign one in a click, with a live preview in the inspector.

Robust Steam auto-detection

Finds Hearts of Iron IV and Millennium Dawn from Steam’s own config — across any drive, custom library folders, or non-default installs — and locates the MD workshop content automatically.

Indexed game data

States, technologies, buildings, modifiers, country tags, ideologies and parties are all read straight from your install (honouring MD’s replace_path rules), so every dropdown reflects your actual game.

03

Structured authoring

Compose effects and conditions from real data — no hand-written script.

Completion rewards

Political power, state buildings (every real MD building, including the experimental research facilities), flat and timed resources, opinion modifiers, tech bonuses by category, foreign influence, equipment stockpiles, relative party popularity, war goals and more.

Availability builder

25+ presets for the non-focus requirements in an available block: completed focuses, ideas (NATO/EU membership), party-in-power, government form, country leader, dates, scripted variables, stability / war support / political power thresholds, technologies, state ownership, buildings, opinion, factions and subjects.

Named, valued dropdowns

~1,000 idea modifiers grouped by theme, 1,700+ opinion modifiers each labelled with its value, 985 techs grouped by research folder, your country’s real states by name, and 498 country tags — all searchable, all type-ahead.

Idea creator

Author custom ideas with a searchable modifier picker and an MD idea icon, then manage them in one place — edit or delete, and renaming an idea updates every focus that grants it.

Decision creator

Full HOI4 decisions: cost, timers, cooldowns, missions, visible/available conditions, complete/remove/timeout effects, active modifiers, AI weighting, and custom or Millennium Dawn categories — with custom or in-game decision icons.

Events, on a schedule

Author country events and fire one on an exact date (e.g. 2003.3.20) — the export generates the HOI4 plumbing (date trigger + on_actions file) for you, and Validation flags malformed dates.

Raw-script escape hatch

Toggle raw HOI4 lines for anything the presets don’t cover, and preview the exact generated script block alongside the structured editor.

04

Country editor

Politics, leaders and flags — pre-filled from Millennium Dawn.

Politics

Auto-fills the country’s real MD starting popularities and badges the ruling party “in power”. Adjust freely, with a live total and a one-click reset to the MD values.

Leaders

Pick from your country’s real MD leader portraits. Traits are searchable, categorized, and show their bonuses on hover. Import a custom portrait and the export auto-generates the sprite for it.

Flags

Previews MD’s current flag for your tag. Import a custom flag (TGA/PNG/DDS) — Focus Forge writes the game-correct TGA and DDS formats on export, since Qt can’t.

05

Import & scaffolding

Start a launcher-ready submod, or edit an existing tree.

New Submod

Writes a launcher-ready Millennium Dawn submod — descriptor, folder skeleton and dependencies — into your mod folder on first export, so it appears in the HOI4 launcher with no boilerplate.

Import any tree

Load a country’s existing focus tree as an editable project — 155 trees across base game and MD. Relative positions are resolved to absolute coordinates, titles are localised, and the real icons come along.

Shared & multi-country trees

Trees shared by several countries surface under each tag, and MD’s replace_path is honoured so vanilla WW2 trees never leak into the list.

Start from the generic tree

For the many countries with no dedicated MD tree (Mexico, Morocco, Portugal…), seed an editable copy of the generic tree, namespaced under your tag.

Workspace ⟂ mod split

Your editable .focusforge.json lives in a workspace; one-click Export to Mod materialises the HOI4 files. Save and Export stay cleanly separate.

06

Validation & export

Catch problems before the launcher does — then export exactly right.

Graph validation

Flags missing prerequisites, dependency cycles and overlapping focus positions as you work.

Metadata validation

Checks the things that quietly break a mod: empty tree id, export filename, localisation prefix, country settings, and event-namespace mismatches — and lists the blocking issues before you export.

Byte-identical output

Generates the HOI4 .txt focus tree, localisation .yml (with BOM), ideas, events, country history and localisation, plus flag TGAs and portrait DDS files — produced byte-for-byte the way HOI4 expects.

07

AI Bridge

Build and edit your tree by asking an AI assistant.

Plain-English authoring

Connect an assistant like Claude over a local connector and describe what you want — “add a four-focus war-economy branch with a mutually-exclusive choice”. The focuses, ideas and events build themselves on the canvas.

You stay in control

Everything the AI does is ordinary editing — visible live, and fully undoable. Anything it changes counts as unsaved, so closing still prompts you to save.

Local-only & off by default

The bridge never goes online and only listens on your own PC. It starts off; nothing happens until you turn it on.

08

Built for long sessions

The unglamorous stuff that keeps a modding session pleasant.

Updates itself

Focus Forge checks for a new version at startup and installs it in one click — release notes shown, download integrity-checked, and it relaunches when done. Skip a version or grab it later from the status bar.

Crash-safe saving & autosave

Projects and exported mods are written atomically, so a crash or a full disk can never truncate your work. Optional autosave on an interval you pick, and an unsaved-changes prompt guards every project-replacing action.

Smooth on 700-focus trees

The canvas redraws only what changes, connectors re-route only when they move, and icons and game data decode in the background — big MD trees like the USA stay responsive.

Stats tab

Branch lengths in days, political-power economy, tree depth and size at a glance — a sanity check before you commit to a design.

Custom art, correctly sized

Import your own focus icons, event pictures, party logos, leader portraits and flags — everything auto-scales to the game’s exact dimensions and exports as proper .dds/.tga with generated sprite definitions.

09

Built for humans and LLMs

One editable source of truth, designed for round-tripping.

A clean project format

Your project is a single editable .focusforge.json; the HOI4 .txt/.yml/ideas/events are generated artifacts. That makes the tree easy to diff, version, and hand to an AI as structured data.

In-app help

A searchable, categorized Help tab covers building, validating, exporting and the AI Bridge — the same content as this site’s documentation.

Ready to build?

Free, for Windows. No account, no syntax to memorise.