Play your own music through Forza Horizon 6's in-game radio.
- Radio Replacement
- Streams through the actual in-game radio so station switching, volume, and HUD all keep working
- Sources
- Local (folders, M3U playlists, single files)
- YouTube (videos and playlists)
- Spotify Connect
- Mixes
- Cross-source playlists: combine tracks and playlists from different sources into one continuous stream, with two-level shuffle. Build them in the Mixes tab and tune to one from the player bar.
- Shuffle
- Toggle on the Now Playing page for local-file and YouTube playback (remembered across runs)
- Track Metadata Sources
- MusicBrainz
- Spotify
- One-click mod installer
- Detects your Forza installation and handles the DLL
- Live dashboard with throughput, gain, and underrun stats
In FH6's audio settings:
- Radio DJ: Off
- Download the latest zip from Releases.
- Unzip anywhere and run
HorizonRadio.UI.exe. - Open the Mods tab → Install.
- Launch Forza Horizon 6.
Details
| Build | Produces | Requires |
|---|---|---|
CMakeLists.txt |
version.dll + test exe |
Windows: VS 2022 Build Tools. Linux/macOS: clang + mingw-w64. CMake ≥ 3.25, Ninja. |
HorizonRadio.UI.slnx |
C# UI | .NET 10 SDK |
git clone https://github.com/dhkatz/horizon-radio.git
cd horizon-radio
cmake --preset windows-x64
cmake --build --preset windows-x64-release
dotnet build HorizonRadio.UI.slnxTo produce a release zip locally:
dotnet publish HorizonRadio.UI/HorizonRadio.UI.csproj -c Release -r win-x64 --self-contained
# Output: build/release/HorizonRadio.zipFor architecture, internals, code-quality tooling, and maintenance runbooks (including how to re-derive the FMOD offsets after a game update), see AGENTS.md.
Details
_Libraries_- librespot - Spotify Connect client (Rust)
- ShadUI - UI framework (C#)
- SharpHook - cross-platform global keyboard/mouse hooks (C#)
- SDL3-CS - SDL3 bindings for controller/wheel/joystick input (C#)
Assets
- Kenney Input Prompts - keyboard/mouse/controller glyphs in the Controls tab (CC0)
References
- Spotify Radio - Original inspiration (closed source)
- fh6-universal-radio - Cross-referenced for FH6's FMOD function signatures and RadioStreamFmod chain offsets, and adapted its lazy-resolve createDSP technique.
GPLv3 — see LICENSE.


