Fallout 76
Fallout 76 (game_id = fallout76) is one of the five Bethesda Creation
Engine titles modde ships with. It shares the Bethesda deploy strategy, archive
format, and INI machinery with Skyrim SE/AE, Fallout 4, and Starfield, but it is
the odd one out: it is an always-online game whose saves live on Bethesda’s
servers, and whose loose-archive mods are activated through an INI line rather
than a local plugins.txt. Because of that, modde marks the title Partial
overall, with Partial save tracking in particular.
Honest status: deployment, BA2 scanning, conflict classification, and launcher integration are real and working. What is not fully solved is save tracking (saves are server-side; only a local cache is visible) and load-order parity with single-player Bethesda games (Fallout 76 has no LOOT masterlist equivalent). See Supported games and the parity reference for the canonical status baseline.
Engine and overall status
| Property | Value |
|---|---|
| Engine | Bethesda Creation Engine (EngineFamily::Bethesda) |
modde game_id | fallout76 |
| Steam App ID | 1151340 |
| Nexus domain | fallout76 (numeric game id 2590) |
| Wabbajack name | Fallout76 |
| Overall status | Partial |
| Scanner | Yes (loose-archive scanner) |
| Conflict detection | Yes (shared Bethesda classifier) |
| Save tracking | Partial — server-side; local cache only |
| Plugin system | Reported as present, but no local load-order file |
The game is registered in crates/modde-games/src/registry.rs with the
Bethesda engine family, the shared Bethesda collision classifier, a
Fallout-76-specific archive scanner, and a Bethesda save tracker tagged as
“FO76”. The plugin metadata lives in
crates/modde-games/src/bethesda/mod.rs as the FALLOUT76 BethesdaGame
record.
How modde detects the install
modde locates Fallout 76 the same way it finds every other Bethesda title: by its launcher IDs. The registration carries:
steam_app_id = "1151340"steam_dir = "Fallout76"(the folder understeamapps/common/)
There are no Heroic GOG or Epic IDs for Fallout 76 — it ships on Steam (and the Microsoft Store / Bethesda launcher, which modde does not detect). On Linux the Steam copy runs under Proton, so modde resolves both the install root and the per-game Proton prefix from the Steam App ID:
~/.local/share/Steam/steamapps/common/Fallout76/ # install root
~/.local/share/Steam/steamapps/compatdata/1151340/pfx/ # Proton prefix
The Proton prefix matters for two things modde reads under
drive_c/.../AppData/Local/Fallout76/: the (largely unused for FO76)
plugins.txt location and the My Games documents tree where the local save
cache lands.
Mod directory and deploy strategy
Like all Bethesda games, the mod directory is Data/ under the install
root:
~/.local/share/Steam/steamapps/common/Fallout76/Data/
mod_directory() for the Bethesda plugin returns install.join("Data"), so
modde deploys mod files into Data/ through its virtual-filesystem symlink
farm — the same overlay mechanism used for every game. Your real Data/
directory stays clean; modde links the active profile’s files in and removes
them on profile switch or undeploy. See the
Deployment & VFS guide for how the overlay is built
and torn down.
When modde extracts an archive whose contents look like a bare Bethesda layout
(top-level meshes/, textures/, scripts/, interface/, sound/,
strings/, … or loose .esp/.esm/.esl/.bsa/.ba2 files), it recognizes
it as a Data-rooted mod and lays it down accordingly. This is the
BareLayoutPolicy shared across Bethesda titles and is case-insensitive.
What scanning finds
Fallout 76 uses a dedicated scanner that differs from the Skyrim/Fallout 4
scanner. The single-player Bethesda scanner walks plugins.txt for an
authoritative load order; Fallout 76 has no meaningful local load order, so it
uses BethesdaArchiveScanner instead.
The Fallout 76 scanner (FALLOUT76_SCANNER):
- scans the
Data/directory only; - discovers loose
.ba2archive files (the Fallout 76 archive extension); - skips game-shipped archives by ignoring any file whose name starts with
the
SeventySixprefix (those are vanilla content, not mods); - assigns each discovered archive a mod id of the form
archive/<stem>and a confidence of0.8(a heuristic match, since there is no load-order file to corroborate it); - maps a mod id back to its on-disk footprint as
data/<stem>.ba2, which lets modde detect stale duplicates and reconcile a scanned archive against a managed mod.
In short: scanning Fallout 76 returns the loose .ba2 mods you have dropped in
Data/, excluding Bethesda’s own SeventySix*.ba2 archives. Unlike Skyrim or
Fallout 4, it does not pair plugins with companion archives or read enabled
state from a load-order file, because Fallout 76 mods are activated through the
INI rather than a plugin list. See the
Scanning guide for the general scan workflow.
Conflict classification
Fallout 76 uses the shared Bethesda collision classifier, the same one used
by Skyrim and Fallout 4. modde indexes the contents of .bsa/.ba2 archives
(via the archive index reader) and classifies a file collision by its
extension:
| Severity | Extensions (representative) |
|---|---|
| Dangerous | esp, esm, esl, pex, dll, psc |
| Config | ini, cfg, json, toml, xml |
| Cosmetic | dds, png, tga, jpg, nif, hkx, fuz, wav, xwm, swf, btr, bto, btt, bsa, ba2 |
So two mods that both overwrite a texture inside their .ba2 archives produce a
Cosmetic collision (last-deployed wins, cosmetically), whereas two mods that
ship the same script or plugin produce a Dangerous collision worth your
attention. The classifier reads inside archives, so it can flag conflicts
between the contents of two .ba2 files, not just same-named archives.
Caveat for Fallout 76 specifically: Bethesda actively detects and bans certain client modifications in the online game. modde’s conflict severity is about file overwrites, not about whether a given mod is permitted online. Treat
Dangerous-class mods (loose scripts, DLLs, plugins) with extra care on an online title.
See the Conflicts & load order guide for how severities surface and how overwrite order is resolved.
Save tracking
This is where Fallout 76 differs most from its single-player siblings, and why
its save tracking is Partial.
Fallout 76 is an online game: the authoritative save is on Bethesda’s
servers. The local .sav/.ess-style files in the Proton prefix are at best a
partial cache, not your real character. modde represents this honestly:
-
The Fallout 76 save tracker uses the magic header
FO76_SAVEGAMEto identify local Bethesda save files (the same binary header family as Skyrim’sTESV_SAVEGAMEand Fallout 4’sFO4_SAVEGAME). -
When a save header parses, modde fingerprints the save number (a unique, incrementing slot id) and the player name read from the header.
-
The tracker is flagged
is_fo76 = true, so every capture is labelled with an explicit warning. Instead of the normalcapture: …prefix, Fallout 76 captures read:capture (FO76 cache — server saves not tracked): …
That warning is the whole point: modde will fingerprint and snapshot what is on disk, but it tells you plainly that this is a local cache and that your real progress lives server-side and is not under modde’s control. The save directory modde looks in is resolved from the Proton prefix:
.../compatdata/1151340/pfx/drive_c/Users/steamuser/Documents/My Games/Fallout 76/Saves
(my_games_dir = "Fallout 76" for this title.) Do not rely on modde save
profiles to roll a Fallout 76 character back and forth the way you would for
Skyrim — the server state will not follow. For the general save-vault model
(git-backed vaults, fingerprints, auto-capture), see the
Save management guide.
Plugins and load order
has_plugin_system() returns true for every Bethesda game, and modde knows the
Fallout 76 INI files it manages per profile:
Fallout76.iniFallout76Prefs.iniFallout76Custom.ini
But in practice Fallout 76 has no plugins.txt-driven load order parity with
single-player Bethesda titles. There is no LOOT masterlist for Fallout 76, and
the game does not consume a plugins.txt the way Skyrim and Fallout 4 do.
Instead, loose .ba2 archives are activated by listing them in the
sResourceArchive2List / custom archive lines of Fallout76Custom.ini. That is
why the scanner is archive-based rather than plugin-based, and why you should
think in terms of “which archives are listed in my custom INI” rather than
“what is my load order”. modde manages the INI files as part of a profile; you
edit the archive list there to enable a loose .ba2 mod.
Installers (FOMOD, BA2, and friends)
Fallout 76 mods come in two common shapes, and modde handles both:
- Loose / archived files (
.ba2or bareData/layouts). Drop-in mods are recognized by the Bethesda bare-layout policy and deployed intoData/. A single.ba2is the canonical Fallout 76 mod unit. - FOMOD installers. modde includes a FOMOD engine (re-exported from
fomod-oxide) shared by all Bethesda titles, so a Fallout 76 mod packaged as a FOMOD withModuleConfig.xmlis installed through the same interactive or declarative flow as a Skyrim FOMOD. See the FOMOD installer guide.
There is no REDmod, pak, or SMAPI handling here — those belong to
Cyberpunk 2077, Unreal titles, and Stardew Valley respectively. Fallout 76 is
archive-and-INI, plus FOMOD packaging.
Gaming tools for this title
Fallout 76 carries no built-in OptiScaler profile in its registration
(optiscaler_profiles is empty) — unlike Stellar Blade, which ships a
community-dxgi preset. You can still attach the generic tools modde supports to
a Fallout 76 profile through the home-manager module or modde tool commands:
| Tool | Use on Fallout 76 |
|---|---|
proton | Select the Proton runtime and set Wine/Proton DLL overrides for the prefix |
mangohud | Performance HUD overlay |
gamemode | System performance tuning at launch |
vkbasalt | Vulkan post-processing (sharpening, CAS) |
reshade | D3D post-processing for the Wine-backed game |
optiscaler | DLSS/FSR/XeSS upscaling — usable, but no curated FO76 preset ships |
The most relevant of these for an online Proton title is proton itself, for
runtime selection and DLL overrides. See the Tools & overlays
guide for how tools attach to a profile and the
Playing a game guide for the deploy-launch-capture flow.
Linux and Proton notes / known gotchas
The prefix-specific points here describe the game’s runtime on Linux and macOS, where Fallout 76 runs through Proton/Wine. On Windows the game runs natively, so there is no Wine prefix and the local cache and INI files live at their native Windows locations. modde itself runs natively on all three platforms.
- Always-online; saves are server-side. This is the single biggest gotcha.
modde can snapshot the local cache but cannot version your real character.
Every Fallout 76 capture is labelled
FO76 cache — server saves not tracked. - Anti-cheat / bannable mods. Bethesda enforces what is allowed in the live
game. modde’s
Dangerousseverity flags file risk, not online-policy risk; loose scripts/DLLs/plugins can get you actioned regardless of how modde classifies the overwrite. Mod conservatively on a live online account. - Activation is via
Fallout76Custom.ini, not a load order. If a.ba2mod does nothing after deploy, confirm its archive name is listed in the custom INI’s archive list — there is noplugins.txtto enable it. - Vanilla archives are skipped on scan. Anything named
SeventySix*is treated as base-game content and excluded from discovery, so it will not show up as a “mod”. - No Heroic path. Detection is Steam-only for this title; there are no GOG or Epic launcher IDs.
Worked example
Home-Manager profile
A minimal Fallout 76 profile. Because saves are server-side, there is little point in elaborate save automation here — keep the profile focused on deploying loose-archive mods and selecting a Proton runtime:
programs.modde = {
enable = true;
nexus.apiKeyFile = "/run/secrets/nexus-api-key";
profiles.fo76 = {
game = "fallout76";
installMode = "auto";
gameDir = "/home/me/.local/share/Steam/steamapps/common/Fallout76";
tools = {
proton.enable = true;
gamemode.enable = true;
mangohud.enable = true;
};
};
};
CLI
# Confirm modde sees the install (Steam App ID 1151340).
modde game list
# Scan Data/ for loose .ba2 mods (skips SeventySix* vanilla archives).
modde scan --game fallout76
# Inspect conflicts between deployed archives' contents.
modde conflicts --game fallout76
# Deploy the active profile's mods into Data/ and launch under Proton.
modde play --game fallout76
# Snapshot the local save cache. Note the FO76 server-side warning in output.
modde save auto-capture --game fallout76
modde save auto-capture --game fallout76 will print a capture line prefixed
with capture (FO76 cache — server saves not tracked), reflecting that the real
character lives on Bethesda’s servers.
See also
- Supported games — the canonical status table
- Fallout 4 and Starfield — sibling Creation Engine titles with full single-player save tracking
- Deployment & VFS
- Mod scanning
- Conflicts & load order
- Save management
- FOMOD installer
- Tools & overlays
- Playing a game
- Parity reference