SteadyMusic
Smooth and steady music transitions. Prevents music from constantly switching and stopping when entering or exiting houses, walking near doorways, or crossing biome borders.
About this mod Author’s original text
SteadyMusic
A lightweight client mod for Valheim (compatible with Valheim 1.0+) that creates smooth, steady ambient music transitions and prevents music from constantly stopping, resuming, and switching back-and-forth when entering and exiting houses or crossing biome borders.
The Problem in Vanilla Valheim
In vanilla Valheim, ambient music changes instantly the moment Player.IsSafeInHome() toggles:
- Stepping through your cabin door to check a kiln, chest, or garden outside immediately cuts off your cozy home music and starts the biome music (e.g. blackforest).
- Walking back inside 4 seconds later cuts off the biome music and resumes home music.
- Walking near a doorway, window, or stairs can momentarily dip your cover value for a single frame, causing the game to abruptly stop and restart the song at the exact same second.
The result is constant music thrashing: you only ever hear 5- to 10-second fragments of songs.
How SteadyMusic Fixes It
- Smart Hysteresis (Delays):
- Exit Home Delay (default: 20s): Stepping outside into your yard or porch won't interrupt your home music. The music continues playing peacefully while you do quick chores outside.
- Enter Home Delay (default: 10s): Briefly running into a hut to grab arrows or shelter from rain won't instantly interrupt your ongoing biome adventure track.
- Doorway Dip Fix: 1-frame cover dips while walking through doors or near windows never trigger a track restart.
- Minimum Track Duration (default: 45s):
- When an ambient song starts playing, it is given time to breathe. It won't be replaced by another ambient track until it has played for at least the configured minimum time.
- Biome Transition Debounce (default: 15s):
- Running along the border between two biomes (e.g. Meadows and Black Forest) won't rapidly toggle the music back and forth.
- Combat & Raids Retain Instant Priority:
- Urgent music (combat, raids, boss fights, death, cinematics) triggers immediately with zero delay.
- Optional Homestead Mode:
- Extend Home Music To Base: If enabled, home music plays continuously throughout your entire base perimeter (near workbenches/beds/hearths), not just under covered roofs.
- Optional Disable Home Music:
- For players who prefer listening to the wild biome music even while resting inside their bases.
Controls
- F9: Toggle SteadyMusic on/off in-game (configurable).
Configuration
Settings file located at BepInEx/config/Allifreyr.SteadyMusic.cfg:
| Section | Key | Default | Description |
|:--- |:--- |:--- |:--- |
| General | Enable | true | Master switch to enable or disable the mod. |
| Delays | Enter Home Delay | 10.0 | Seconds inside home before switching from biome to home music. |
| Delays | Exit Home Delay | 20.0 | Seconds outside home before switching from home to biome music. |
| Delays | Min Track Duration | 45.0 | Minimum seconds an ambient track plays before another ambient track can take over. |
| Delays | Biome Transition Delay | 15.0 | Seconds in a new biome before ambient music transitions to the new biome theme. |
| Features | Extend Home Music To Base | false | If enabled, home music plays throughout the base structure area. |
| Features | Finish Track Before Switch | false | If enabled, waits for the current song to finish before transitioning. |
| Features | Disable Home Music | false | If enabled, always plays biome music even inside houses. |
| Controls | Toggle Hotkey | F9 | Keyboard shortcut to toggle SteadyMusic on/off. |
| Controls | Show Toggle Message | true | Show on-screen notification when toggled. |
| Diagnostics | Enable Debug Logging | false | Log music transition timers to BepInEx console. |
Installation
- Install BepInExPack Valheim.
- Extract SteadyMusic.dll into your /BepInEx/plugins/ directory (or use a mod manager).
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: