Valheim
Install with App

Details

Latest version
0.1.0
Last Updated
First Uploaded
Downloads
145
Likes
1
Size
124KB
Dependants
ADDatHost Valheim hosting
30% off
Edited · Nov 5, 2026

IronShoulders

Train your Carrying skill by travelling on foot with a load. IronShoulders adds a persistent skill that gradually increases your maximum carry weight, up to +150 at level 100 with the default settings.

Carry supplies, explore and haul resources to become a stronger pack carrier. Walking, automatic movement (auto-run) and sprinting count when your character actually moves on the ground. The skill appears in the normal skills menu as Carrying (Переноска in Russian), starting at level 0.

Found a bug or experiencing issues?

If you encounter any bugs, errors, or other problems with the mod, please create an issue on GitHub.

Required

Dependency Required version
BepInExPack Valheim 5.4.2333 or newer
Jötunn 2.30.2 or newer

For multiplayer, install IronShoulders and its dependencies on the server and every client. All players and the server must use the same IronShoulders version, including the patch number. Jötunn checks this when connecting.

How carrying capacity works

The bonus scales linearly with the learned Carrying level:

Carry bonus = MaxCarryBonus × Carrying level / 100

With the default maximum bonus:

Carrying level Extra carry weight Total with the usual 300 base capacity
0 +0 300
25 +37.5 337.5
50 +75 375
100 +150 450

The bonus stacks with Megingjord and other carry-weight effects. It is added before the world's carry-weight multiplier. Inventory size and item weights are not changed.

How training works

Your current load

Training uses the weight in your own inventory divided by your current maximum carry weight. This maximum includes the skill's own bonus, Megingjord, other active effects and the world's carry-weight multiplier. Cargo in a cart, ship or chest does not count as personal weight.

With the default thresholds:

Load relative to current capacity Load XP factor
30% or less No XP
Between 30% and 60% Increases linearly from 0 to 1
45% 0.5: half the full-load XP rate
60% through 100% 1: full-load XP rate
Over capacity No XP while encumbered

Carrying more than 60% does not increase this factor further. As your capacity grows, you may need more cargo to maintain the same training load.

Movement and stamina

XP is based on effective movement time, load and movement mode. Effective movement time is the smaller of elapsed time and distance travelled divided by MovementSpeedForFullXp (default: 1 metre per second). Moving more slowly earns proportionally less XP; going faster than this threshold does not add another speed multiplier.

Sprinting has its own XP multiplier. It can also receive up to 15% extra running XP from stamina actually spent sprinting, reaching the full bonus at 1 stamina per metre by default. Attacks, dodges and stamina regeneration do not contribute to this bonus. A higher Run skill can reduce stamina spent per metre and therefore reduce this extra bonus.

Standing still, running against a wall without moving, jumping, falling, swimming, flying, riding, movement aboard a ship, knockback, dodging, attacking and sliding do not train Carrying. Teleports and loading transitions do not award travel XP.

Default progression pace

The following are calibration targets from level 0 to 100 at 60% load or more, with movement at or above the speed threshold, without Rested, with the world skill-gain multiplier set to 1 and no skill loss:

Movement Active training time
Walking About 35 hours
Sprinting with the full stamina bonus About 25 hours
Sprinting without the stamina bonus About 28.75 hours

These are active movement hours. Stops, stamina recovery breaks, lower loads and excluded movement extend the time needed in a normal playthrough. Later levels require more XP, and excess XP carries over when a level is gained.

Rested applies Valheim's normal +50% skill XP once. World skill-gain settings also apply once. The skill follows the game's death-related skill loss and skill-cap rules; its learned level and XP progress are saved with the character.

Configuration

The file is created after the first launch:

BepInEx/config/kastante.IronShoulders.cfg

All settings use Jötunn's server configuration synchronization. Single-player uses your local configuration; multiplayer uses the server's settings.

Section Setting Default What it controls
General Enabled true Enables training and the carry-weight bonus. When disabled, the skill stays registered and its saved level and progress are retained.
Progression WalkTrainingHours 35 Target active walking hours from level 0 to 100 at full load factor, without Rested or a world XP bonus.
Progression RunTrainingHours 25 Target active sprinting hours under the same conditions, including the full stamina bonus.
Progression MinLoadRatio 0.30 Fraction of current capacity at or below which no training XP is earned.
Progression FullLoadRatio 0.60 Fraction of current capacity at which the load XP factor reaches its maximum.
Progression MovementSpeedForFullXp 1 Own movement speed in metres per second needed for elapsed movement time to count in full. Slower movement is scaled down.
Progression StaminaBonusMax 0.15 Maximum additional sprinting XP fraction from actual running stamina expenditure: 0.15 means up to +15%.
Progression StaminaPerMeterReference 1 Stamina spent per metre needed for the full stamina bonus. Lower expenditure gives a proportionally smaller bonus.
Reward MaxCarryBonus 150 Extra carry weight at learned level 100, before the world's carry-weight multiplier.

The two training-hour settings calibrate the rates together. The base running multiplier is calculated as:

WalkTrainingHours / (RunTrainingHours × (1 + StaminaBonusMax))

The maximum stamina bonus is already included in RunTrainingHours. Changing StaminaBonusMax also recalculates the base running multiplier.

Training hours, movement speed and stamina reference must be positive and finite. Load thresholds must satisfy 0 <= MinLoadRatio < FullLoadRatio <= 1. Bonuses must be non-negative, and WalkTrainingHours >= RunTrainingHours × (1 + StaminaBonusMax). Invalid settings are rejected as a complete set: the previous valid settings remain active, or defaults are used on the first launch. The reason is written to the log. Enabled=false still disables training and the bonus even if another setting is invalid.

Restart the game or server after editing the config file manually. Settings changed through a compatible configuration manager are applied while running. To pause the mod while keeping the skill, use Enabled=false rather than removing it: saving a character without the mod can discard an unknown skill.

Installation and updates

Install with r2modman or Thunderstore Mod Manager and allow it to install the required dependencies. For a manual installation, place IronShoulders.dll in BepInEx/plugins/IronShoulders/ after installing the dependencies.

Keep a single copy of the plugin. Fully close the game and stop the server before updating, then install the same version everywhere and restart.

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.