Skip to content

FollowerForge 3.2.6 — fixes a broken faction on every follower ever built

Choose a tag to compare

@SenjuWoo SenjuWoo released this 07 Aug 17:40
· 51 commits to main since this release

Rebuild your followers

PlayerFaction was written as 0x0000DB. The real FormID is 0x000DB1.

Every follower FollowerForge has ever built carries a link to a record that does not exist, and none of them are actually in the player faction. It compiles, validates and ships clean — the only way to see it is to resolve the link against the game.

If you have already released a follower built with an older version, rebuild and reupload it. Existing saves are not damaged (the engine ignores the dead link), but xEdit's error check flags it.

before:  1 dangling ref   000800:FF_VeraForge.esp -> 0000DB:Skyrim.esm
after:   0 dangling refs, 0 missing masters, 0 unscannable records

How it was found

By validating built output rather than reading code: two followers were compiled with the CLI and swept with houseCARL's load-order integrity check.

The design was already right — Lydia (HousecarlWhiterun 0A2C8E:Skyrim.esm) has 000DB1 as Factions[0], so vanilla followers do carry the player faction. Only the digits were wrong.

All 28 hardcoded vanilla FormIDs were then read back out of Skyrim.esm and matched to their EditorIDs. Only this one was wrong. VanillaFormIdTests pins them so a typo cannot slip back in.

Also in this release (from 3.2.5)

  • Body tab in step 5: pick the skin ARMO she wears, or leave it empty (default) so she uses the player's installed body — what OBody needs to reshape her. It's a FormID reference, so asset-hub bodies cost no storage. BODY_PINNED note warns that pinning makes that mod a hard requirement.
  • Skyrim is found on any drive. The old code checked one hardcoded C: Steam path. GameRootResolver now searches every fixed drive and every library in steamapps/libraryfolders.vdf.
  • Portable MO2 instances are found — previously only %LOCALAPPDATA%\ModOrganizer was checked, so the common setup was never detected.

325 tests pass. SHA-256 09C0426E50C2C0FE9C2D76ACC98A1E240E4CC61FE5A393A3368609CFDB5ABD12

🤖 Generated with Claude Code