
PlaceableRadio
A network-synchronised placeable radio that continuously plays numbered MP3, OGG or WAV playlists.Placeable Radio for Valheim
Placeable Radio adds a buildable radio to the Hammer's Furniture category. Any player can use it to turn it on or off. The powered state and current track are saved in the world and synchronised to every connected player. Its numbered playlist runs continuously and fades with distance.
Requirements
- Valheim with BepInEx
- Jötunn 2.29.2 or later
- The same Placeable Radio version on the dedicated server and every player
Manual installation
Extract the PlaceableRadio folder from the manual ZIP into Valheim/BepInEx/plugins/. The result should be:
Valheim/BepInEx/plugins/PlaceableRadio/
├── PlaceableRadio.dll
└── Tracks/
├── track01.mp3
├── track02.mp3
└── track03.ogg
Install the same folder on the dedicated server. The server does not play audio, but it uses the DLL to register and synchronise the radio piece.
In game
Use a Hammer and open the Furniture category. The recipe is:
- 10 Fine Wood
- 2 Bronze
- 1 Surtling Core
Look at a placed radio and press the normal Use key to turn it on or off.
Managing the playlist
Put legally distributable MP3, OGG or WAV files in the Tracks folder and name them track01, track02, track03 and so on. The radio sorts by the number, plays every track in order, then returns to track01 and repeats the playlist for as long as it remains switched on.
The numeric sequence can contain gaps, so track01.mp3, track05.ogg, and track20.mp3 will still play in that order. Other filenames are ignored.
You can change the folder or local playback settings in BepInEx/config/uk.co.jamespower.placeableradio.cfg after launching once:
[Audio]
TrackDirectory = Tracks
AudibleDistance = 25
Volume = 0.7
Audio settings are local to each player. Every server and client installation should contain the same numbered tracks.
Notes
- The radio body is generated by the plugin, so no Unity asset bundle is required.
- The server synchronises whether a radio is powered. Playback itself occurs on each client.
- The current track is synchronised. Clients joining after a radio was switched on begin that track from the start; exact playback position within the track is not synchronised.