ChestProgression
Craft global chest storage upgrades at a new Chest Upgrade Table - basic chests grow bigger for everyone, existing and future, no need to swap chests as you unlock new metals.
About this mod Author’s original text
Grillspett Chest Progression
BepInEx + Jotunn mod for Valheim. Adds a Chest Upgrade Table where you pay
materials to permanently increase the storage capacity of every basic
(wood) chest — existing ones and any built afterwards, world-wide, for
every player. No more digging through old chests to move everything into a
bigger one every time you unlock a new metal.
How it works
Build a Chest Upgrade Table with the Hammer (10 Fine Wood by default, no
other crafting station needed — same as the plain Workbench). Standing near
it opens five upgrade recipes, one per metal:
| Upgrade | Cost (default) |
|---|---|
| Bronze | 30 Bronze bars |
| Iron | 30 Iron bars |
| Silver | 30 Silver bars |
| Black Metal | 30 Black Metal bars |
| Flametal | 30 Flametal bars |
Crafting one of these consumes the listed bars and instantly advances
every basic chest — the ones you already built as well as any built
afterwards — one step up a shared size progression:
5x2 (vanilla) -> 6x3 -> 6x4 -> 8x4 -> 8x5 -> 8x6
Each of the five upgrades is an independent unlock, not a dependency
chain, and which ones you buy doesn't matter — only how many. Buying
only Silver, with Bronze and Iron never touched, lands on the first step
(6x3), exactly as buying only Bronze would. Buy a second one (any of the
remaining four) and every chest advances to the second step (6x4), and so
on up to the fifth step (8x6) once all five have been bought.
As in vanilla, a recipe only shows up once you've picked up that material at
least once (Valheim's own "known material" system — nothing this mod has to
implement). Once an upgrade is bought, its recipe disappears for everyone, so
there's no way to waste materials buying the same one twice.
Multiplayer correctness
Chest capacity is derived entirely from world state that Valheim itself
keeps in sync across every connected client and the dedicated server (the
same ZoneSystem "global key" mechanism vanilla uses for boss-kill flags),
never from anything local to one player's game. That's what guarantees two
players never disagree about how big a given chest is — which matters,
because if they did, one player could store items in slots the other
player's client doesn't render, and neither of them would be able to see or
retrieve them reliably.
Concretely: buying an upgrade sets a global key, which Valheim broadcasts to
every peer; every peer (including the dedicated server) reacts to that same
broadcast by resizing its own currently-loaded chests and re-checking every
chest as it loads — so it doesn't matter who bought the upgrade or who was
standing where when it happened.
The costs and the target chest prefab name are also configured as
admin-only/synced settings (via Jotunn's SynchronizationManager): a client
can't quietly lower their own cost or point the mod at a different prefab
than everyone else — the server's config values win.
Known limitation: like any Valheim mod that adds crafting recipes,
requirement checking (do you have enough bars) happens on the crafting
client, not the server — this is a property of Valheim's netcode in
general, not something specific to this mod.
Configuration
Settings are written to
BepInEx/config/grillspett.valheim.chestprogression.cfg after the first
run. All entries are server-synced (see above) — only the server's/host's
values take effect for everyone.
| Setting | Default | Description |
|---|---|---|
| UpgradeTableFineWoodCost | 10 | Fine Wood to build the Chest Upgrade Table. |
| BronzeUpgradeCost | 30 | Bronze bars for the Bronze upgrade (worth one progression step). |
| IronUpgradeCost | 30 | Iron bars for the Iron upgrade (worth one progression step). |
| SilverUpgradeCost | 30 | Silver bars for the Silver upgrade (worth one progression step). |
| BlackMetalUpgradeCost | 30 | Black Metal bars for the Black Metal upgrade (worth one progression step). |
| FlametalUpgradeCost | 30 | Flametal bars for the Flametal upgrade (worth one progression step). |
| TargetChestPrefab | piece_
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file. In multiplayer, the host and every client need the same mods installed.
Install these first, or the mod will not work: