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.
ZoneAudio
Custom location-based music and ambience zones for Valheim, configured with live-reloading YAML.
By PhLoki
| Last updated | 15 hours ago |
| Total downloads | 10 |
| Total rating | 0 |
| Categories | Audio AI Generated |
| Dependency string | PhLoki-ZoneAudio-1.1.0 |
| Dependants | 0 other packages depend on this package |
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.2202README
ZoneAudio
ZoneAudio adds custom location-based music and ambience zones to Valheim.
Create zones in a YAML config file, drop audio files into the mod's audio folder, and ZoneAudio will fade tracks in and out as the player moves through those areas.
Features
- YAML-based zone configuration
- Live reload when
zones.yamlis saved - Smooth edge fading near zone boundaries
- Vanilla music suppression while ZoneAudio is active
- Single-track zones or multi-track playlists
- Optional shuffle playback
- Optional day/night audio
- Optional biome and weather conditions
- Priority support for overlapping zones
Installation
Install with a Thunderstore-compatible mod manager, or install manually by placing the DLL in:
BepInEx/plugins/ZoneAudio/
On first launch, ZoneAudio creates:
BepInEx/config/ZoneAudio/
zones.yaml
audio/
Put your .ogg, .wav, or .mp3 files in the audio folder.
Basic Config
Only three fields are required:
zones:
- position: [1250, 34, -820]
radius: 20
audio: harbor.ogg
That creates one audio zone centered at x=1250, y=34, z=-820, with a radius of 20 meters.
Full Example
zones:
- name: Harbor Tavern
position: [1250, 34, -820]
radius: 20
audio: harbor.ogg
volume: 0.8
priority: 100
biome: Meadows
weather:
- Clear
- LightRain
onlyDay: false
onlyNight: false
loop: true
shuffle: false
edgeFade: 10
Playlists
Use a list under audio to queue multiple tracks:
zones:
- name: Market
position: [100, 30, -200]
radius: 35
audio:
- market_1.ogg
- market_2.ogg
- market_3.ogg
shuffle: true
loop: true
With shuffle: true, ZoneAudio plays through the playlist in random order without repeating a track until the current shuffle set is used.
Day And Night Audio
Use dayAudio and nightAudio for different music by time of day:
zones:
- name: Village Square
position: [300, 40, -500]
radius: 45
audio: village_default.ogg
dayAudio:
- village_day.ogg
nightAudio:
- village_night.ogg
If dayAudio or nightAudio is missing, ZoneAudio falls back to audio.
Config Fields
Required:
position: zone center as[x, y, z]radius: zone radius in metersaudio: one file name or a list of file names
Optional:
name: label used in logsvolume: zone volume from0.0to1.0, default1.0priority: higher priority wins when zones overlap, default0biome: only play in this biomeweather: only play during listed weather namesonlyDay: only play during day, defaultfalseonlyNight: only play during night, defaultfalseloop: loop playback, defaulttrueshuffle: shuffle playlist playback, defaultfalseedgeFade: fade distance in meters near the zone edgedayAudio: daytime-specific file or playlistnightAudio: nighttime-specific file or playlist
Notes
The YAML file reloads live while the game is running. If the file has a syntax error, ZoneAudio logs the problem and keeps the last working zone list active.
Audio files are loaded from:
BepInEx/config/ZoneAudio/audio/
The mod can migrate an older zones.json file into zones.yaml if no YAML file exists yet.