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.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_chest_wood |
Prefab name of the chest this mod upgrades. Only touch this if the BepInEx log's registration lines look fine but chests never actually resize (a Valheim update may have renamed it again - check the [Diagnostics] Container prefab seen: log lines for the real name). |
Installing
This mod changes shared/authoritative gameplay state (chest capacity, crafting, world flags), so unlike a purely client-side mod it needs to go on every client and the dedicated server. It depends on BepInExPack_Valheim and Jotunn — installing through a mod manager (r2modman, Thunderstore Mod Manager, ...) pulls both in automatically.
Installing manually instead: copy GrillspettChestProgression.dll into
BepInEx/plugins/GrillspettChestProgression/ on both the client(s) and the
dedicated server, alongside BepInEx and Jotunn.


