Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
SkillLimitExtender
Extend skill caps and bonus multipliers via YAML, with server sync and optional relative scaling. Includes 'sle_yaml_reload' console command.
| Date uploaded | 8 months ago |
| Version | 1.1.3 |
| Download link | dyju420-SkillLimitExtender-1.1.3.zip |
| Downloads | 189 |
| Dependency string | dyju420-SkillLimitExtender-1.1.3 |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.
Preferred version: 5.4.2202ValheimModding-Jotunn
Jötunn (/ˈjɔːtʊn/, 'giant'), the Valheim Library was created with the goal of making the lives of mod developers easier. It enables you to create mods for Valheim using an abstracted API so you can focus on the actual content creation.
Preferred version: 2.26.1ValheimModding-YamlDotNet
Shared version 16.3.0 of YamlDotNet from Antoine Aubry and contributors, net47 package for use in Valheim mods. Maintained by the ValheimModding team.
Preferred version: 16.3.1README
Skill Limit Externder
Extend skill level caps beyond 100 with full server support!
Latest version 1.1.2 Version 1.1.2 delivers critical UI fixes and enhanced network stability for Valheim skill management. This release resolves the blue bonus bar display issue and significantly improves code efficiency.
What's New
-
Bonus multiplier cap: Set
relative: truein YAML to compute factors usinglevel / cap. Control the multiplier ceiling withbonusCap. Baseline is100 = 1.0x; e.g.,150means up to1.5x. Very large values (e.g., 10x, 100x) are possible but may break balance—use with caution. Configurable per skill. -
sle_yaml_reload: Reload the YAML configuration via console command.
Known Issues
- Some users report caps not changing due to mod conflicts.
- This update adjusts patch order to apply as late as possible to mitigate
Features Skill Cap Extension: Raise any skill beyond the vanilla 100 limit Mod Skill Support: Works with custom skills from other mods Easy Configuration: Configuration Manager (F1) + YAML file support Server Sync: Admins can lock configurations and sync to all players Perfect UI: Level bars scale correctly with custom caps Balanced: Vanilla 100 = Custom cap for same effectiveness Lightweight: No heavy dependencies, optimized performance
Configuration Guide
-
YAML configuration file
- Location:
BepInEx/config/SkillLimitExtender/SLE_Skill_List.yaml - Automatically generated on first run with vanilla skills only
- Fields:
cap: Skill level cap (default: 250)bonusCap: Bonus multiplier cap (100 = 1.0x, e.g.,150 = 1.5x)relative:trueuseslevel / cap,falseuses vanillalevel / 100
- Example:
Swords: cap: 300 bonusCap: 150 relative: true ElementalMagic: cap: 400 bonusCap: 100 relative: false
- Location:
-
In-game settings (Configuration Manager / F1)
General > EnableYamlOverride: Enable/disable local YAML on clientsServer > LockConfiguration: Server forces its YAML to all clients; clients ignore local YAML
-
Server sync (automatic, diff-only)
- The server broadcasts YAML to all players only when the content has changed
- RPC name:
SLE_YamlSync, protocol version: v2
-
Console command
sle_yaml_reload- Server: Reload YAML and re-broadcast only if changed
- Client: Reload local YAML (ignored when server lock is enabled)
-
Adding mod skills
- Add the skill display name as a key in YAML (numeric IDs are supported, but names are recommended)
Extended YAML entries (cap, bonusCap, relative) with backward compatibility for the old int format.
Added relative scaling mode (relative: true), allowing coefficient calculation based on level/cap.
Introduced bonus cap multiplier (bonusCap) — e.g., 100 = 1.0x, 150 = 1.5x.
Improved YAML synchronization from server to clients (protocol v2), using change detection for efficient broadcasting.
Added a console command: sle_yaml_reload — safely reloads and only resends when changes are detected.
Unified coefficient calculations and safe clamping via Skills.GetSkillFactor override.
Invalid entries are now automatically cleaned and logged during Skills.Save.
How It Works The mod maintains the original game balance by scaling effectiveness:
Vanilla: Level 100 = 100% effectiveness Extended: Level 250 = 100% effectiveness (same as vanilla 100) Growth: Linear scaling means longer progression, same final power Configuration In-Game (F1 Key) [General] DefaultCap = 250 # Default cap for all skills EnableYamlOverride = true # Allow YAML customization
[Server] (Admin Only) LockConfiguration = false # Force server settings to all clients YAML File (Individual Skills) Location: BepInEx/config/SkillLimitExtender/SLE_Skill_List.yaml
Vanilla Skills
Swords: 500 Bows: 300 Jump: 250 Run: 250
Mod Skills (manually add)
Cartography: 400 MagicSkill: 350 Server Administration For Server Owners: Set LockConfiguration = true in your config Configure DefaultCap and EnableYamlOverride as desired All connecting players will automatically use your settings Players cannot override with local YAML when locked For Players: Use Configuration Manager (F1) to adjust personal settings Edit YAML file for individual skill customization Server settings override local config when locked Mod Skill Support To add skills from other mods:
Find the skill name using /raiseskill command Add to YAML file: SkillName: DesiredCap Restart game to apply changes Example for Cartography skill:
Cartography: 400 Commands All vanilla commands work with extended caps:
raiseskill Swords 200 # Works with mod skills too resetskill Cartography # Individual reset works resetskill all # Resets vanilla skills (mod limitation) Technical Details Harmony Transpiler: Patches skill calculation at bytecode level RPC Sync: Lightweight server-client communication UI Compatible: Level bars display correctly with any cap Performance: Minimal overhead, no constant polling Requirements BepInEx: 5.4.2202 or newer Jotunn: 2.22.3 or newer (Valheim modding framework) YamlDotNet: 16.1.3 or newer (Configuration file support) Valheim: Latest version Server: Optional, works in single-player too Known Limitations resetskill all doesn't affect mod skills (use individual commands) Mod skills must be manually added to YAML Server restart required for server config changes
Changelog
v1.1.2 Fixed an issue where the reload command did not update the cap value properly.
v1.1.1 Adjusted network optimization and fixed character save issues.
v1.1.0
- Fix: Add a safety patch that cleans invalid skill entries (null/uninitialized) right before
Skills.Saveto avoid a NullReferenceException on game exit. - Change: Harden UI denominator replacement in
SkillsDialog.Setup. Limit100f→capreplacement to the vicinity ofGuiBar.SetValue, and fall back to the global UI denominator when local inference fails. - Add: Introduce
SkillConfigManager.GetUiDenominatorForSkillSafe(object?)to safely obtainSkillTypewhen applying per-skill UI denominators. - Improve: Add explicit null guard to the fallback branch of
SkillConfigManager.GetCap, resolving CS8602 warnings. - Change: Override
Skills.GetSkillFactorvia Prefix; unify factor calculation based on cap/relative/bonusCap with safe clamping. - Docs: Improve logs (replacement counts, cleanup counts) and document verification steps.
v1.0.0 Initial release Skill cap extension beyond 100 Mod skill support (manual YAML addition) Server configuration sync UI level bar scaling Configuration Manager integration Lightweight implementation Support Issues: Report on GitHub or Thunderstore Discord: Join Valheim Modding Community Compatibility: Works with most skill-related mods License MIT License - Feel free to modify and redistribute!