Source-checkedQuality of life & UI

SetUpSkills

by Neocor · for Valheim

Makes the hard-coded player skill numbers configurable: bow draw time, crossbow reload, damage curve, stamina costs, stealth, jump, XP rate and more. Server can push its config to clients.

214Downloads
43d agoLast updated
BepInExLoaders
ThunderstoreSource

About SetUpSkills

From Thunderstore

Makes the hard-coded player skill numbers configurable: bow draw time, crossbow reload, damage curve, stamina costs, stealth, jump, XP rate and more. Server can push its config to clients.

Set Up Skills

Puts every hard-coded player-skill number in Valheim into a config file. Built against Valheim 1.0.x and BepInEx 5.4.23.

The example that motivated the mod: a bow takes 2.50 s to draw at Bows 0 and 0.50 s at Bows 100, and nothing in the game lets you change that. With this mod:

[Bows]
DrawTimeMultAtSkill0 = 1.2     ## 2.5 * 1.2 = 3.00 s at skill 0
DrawTimeMultAtSkill100 = 0.4   ## 2.5 * 0.4 = 1.00 s at skill 100

Config file: BepInEx/config/neocor.SetUpSkills.cfg. Edits take effect on the next reload — the file is watched, so on a server you can retune without restarting it.

📖 WIKI.md is the full configuration guide: every setting explained in plain language, the vanilla numbers in tables, ready-made presets, and troubleshooting. Every setting also carries its own explanation as a comment inside the generated .cfg.

Install

The mod must be on every client. Valheim computes all skill effects on the machine that owns the player: Character.GetSkillFactor() returns 0 for anything that is not the local Player, and the methods that consume it (Player.UpdateAttackBowDraw, Player.CheckRun, ItemDrop.ItemData.GetDrawStaminaDrain, Attack.FireProjectileBurst, ...) only ever run there. Damage is rolled on the attacker's client and only the result is sent over the wire. A server-only install would change nothing.

| Where | What | |---|---| | Client | Drop SetUpSkills.dll into Valheim/BepInEx/plugins/. | | Dedicated server | Install the BepInEx pack for Valheim, drop the same DLL into its BepInEx/plugins/, and start the server with start_server_bepinex.bat — the stock start_headless_server.bat does not load Doorstop. |

Installing it on the server as well is optional but recommended: the server then hands its config to every client that has the mod, so everyone plays on the same balance. See Server sync. Players without the mod can still join; they simply keep vanilla values.

How the settings are layered

Layer B — endpoint knobs (the usual way in)

Each of these replaces one vanilla constant. The defaults are the vanilla values, so an untouched config file is bit-for-bit vanilla.

| Section | Setting | Vanilla | What it controls | |---|---|---|---| | Bows | DrawTimeMultAtSkill0 / AtSkill100 | 1.0 / 0.2 | Draw time as a multiple of the weapon's m_drawDurationMin (2.5 s for every bow). | | Bows | DrawTimeSecondsAtSkill0 / AtSkill100 | 0 / 0 | Absolute draw time in seconds, ignoring the weapon's base. Both must be > 0 to take over from the multipliers. | | Crossbows | ReloadTimeMultAtSkill0 / AtSkill100 | 1.0 / 0.5 | Reload time as a multiple of m_reloadTime. | | Combat | DrawStaminaReductionAtSkill100 | 0.33 | Stamina drain removed while drawing, at skill 100. | | Combat | DrawEitrReductionAtSkill100 | 0.33 | Same for eitr. | | Combat | AttackStaminaReductionAtSkill100 | 0.33 | Stamina cost of an attack removed at skill 100. | | Combat | AttackEitrReductionAtSkill100 | 0.33 | Eitr cost of an attack. | | Combat | AttackHealthReductionAtSkill100 | 0.33 | Health cost of an attack (blood magic). | | Damage | MinFactorAtSkill0 / MaxFactorAtSkill100 | 0.4 / 1.0 | Damage multiplier before the random spread. | | Damage | RandomRange | 0.15 | Half-width of the damage roll. 0 gives flat damage. | | Blocking | BlockPowerBonusAtSkill100 | 0.5 | Extra block power as a fraction of the base. | | Run | StaminaMultAtSkill0 / AtSkill100 | 1.0 / 0.5 | Run stamina drain. | | Run | SpeedBonusAtSkill100 | 0.25 | Extra run speed (+25 %). | | Sneak | StaminaMultAtSkill0 / AtSkill100 | 1.0 / 0.25 | Sneak stamina drain. | | Sneak | StaminaExponent | 0.5 | Shape of the sneak stamina curve. Vanilla is a square root; 1.0 makes it linear. | | Sneak | StealthBaseAtSkill100 / StealthLightWeightAtSkill100 | 0.2 / 0.4 | Visibility in darkness and the weight of ambient light, at skill 100. Lower is stealthier. | | Dodge | StaminaMultAtSkill0 / AtSkill100 | 1.0 / 0.5 | Dodge stamina cost. | | Jump | ForceBonusAtSkill100 | 0.4 | Extra jump force (+40 %), up and forward. | | Building | StaminaReductionAtSkill100 | 0.5 | Build stamina cost removed at skill 100. | | Building | PlaceDurabilityReductionMultiplier | 1.0 | Scales the tool's own m_placementDurabilityMax. |

Layer A — per-skill curve ([Curve])

Three values per skill, for all 24 skills:

[Curve]
Bows.Level0Factor = 0      ## what the skill is worth at level 0
Bows.Level100Factor = 1    ## ...and at level 100
Bows.Exponent = 1          ## 1 = linear, >1 = back-loaded, <1 = front-loaded

This remaps the skill factor itself, so it reaches everything that skill touches — including the effects driven by values stored in the prefabs, which Layer B cannot reach: swim stamina, fishing stamina, farming harvest radius, crafting speed and bonus-yield chance, placement durability, and riding.

Layer A and Layer B compose. Layer A decides how fast the benefit accrues with level; Layer B decides where it ends up. Setting Bows.Level100Factor = 0.75 with default Layer B gives a draw time of Lerp(2.5, 0.5, 0.75) = 1.0 s at skill 100 — the same result as the example at the top, but it also scales bow damage by the same token. Use Layer B when you want one effect, Layer A when you want the whole skill.

Layer C — experience ([Experience])

| Setting | Vanilla | Effect | |---|---|---| | <Skill>.GainMultiplier | 1.0 | XP gain per skill. Stacks with the world modifier. | | CurveExponent / CurveScale | 1.5 / 0.5 | The XP wall: Pow(floor(level + 1), 1.5) * 0.5 + 0.5. Lower exponent means faster levelling. | | DeathLossFactor | -1 | Fraction of every skill lost on death. -1 keeps the game's own value (0.05); 0 loses nothing. |

Read the full description on Thunderstore →

Highlights

From source data

Loaders

Runs on BepInEx.

Footprint

Rated a light load on a server.

Last update

Its author last shipped an update 43d ago.

SetUpSkills on Nxeon

From our catalogue
One-click install
Supported on Nxeon Valheim servers, for BepInEx servers. We download it from Thunderstore, place it, and restart the server.
Server side
Optional on the server
Server type needed
BepInEx
Server load
light
Smallest plan we suggest
Valheim — 4 GB (4 GB RAM). This follows our own load rating above, not a benchmark.
Latest build
0.1.0, released 2026-09-22

Game versions by loader

LoaderGame versionsNewest
BepInEx

From 1 recorded build of SetUpSkills.

Run SetUpSkills on a Valheim server

Pick a server or deploy a new one above; it is installed in one click.

What kind of mod it is

From the catalog
Listed on Thunderstore as “Tweaks”

Quality of life & UI

Small conveniences, tweaks and interface improvements players notice straight away.

Works on a server

From source side support

Thunderstore lists server-side support for SetUpSkills as optional: it can run on a server, but isn’t required there.

Compatibility

Game
Valheim
Loaders
BepInEx
Runs on
Serveroptional on the server
Requires
One-click install needs a BepInEx server.

Verified at the source

  • ✓ThunderstoreOfficial listing, checked 2026-10-01Open ↗
  • ✓AuthorNeocor, as published on Thunderstore
  • ✓LicenseNot published by the sourceFree

SetUpSkills, answered

Generated from the mod’s own source data.

Do my players need to install SetUpSkills?

Thunderstore lists server-side support for SetUpSkills as optional: it can run on a server, but isn’t required there.

Which loaders does it support?

BepInEx.

Is it free?

Yes. SetUpSkills is free to download from Thunderstore.

How do I add it to my Nxeon server?

Use “Add to a server” on this page, or open NxLabs from your dashboard. We install it, restart your server and switch it on.

NxLabs

Run SetUpSkills on a Valheim server.

Deploy in about a minute from $9.99 a month, then add SetUpSkills in one click.