
ModAudio
Replace game audio with your own mixtape.Details
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[2.2.1] - 2025-Mar-31
Fixed
- Fixed an error that would occur rarely when sounds are stopped
- (Hopefully) Fixed an error that would occur rarely when reloading audio
[2.2.0] - 2025-Mar-30
Added
- Added a button in EasySettings that opens the custom / user audio pack folder for easy access
Fixed
- Fixed some overlay sounds being interrupted mid-playthrough when played from components that have particle system components
- Technial details: The sound is played from a game object higher in the hierarchy as a workaround for the game object being disabled by the particle system
- Fixed routing failing occasionally when using
___nothing___
as a replacement - Fixed game object names being erroneously set to "oneshot" for display purposes
- It will now use the correct object name and instead append "oneshot" to logged lines for played audio
[2.1.0] - 2025-Mar-29
Added
- Added an effect option "overlays_ignore_restarts" for
__routes.txt
routes (originalClip @ overlayClip ~ overlays_ignore_restarts : true
)- Settings this as true will make it so that an overlay sound is played only once if an audio source is restarted multiple times.
Changed
- Slightly improved load times by skipping loading audio data for audio packs that are disabled
- Mod assembly now uses an embedded PDB instead of a separate PDB file for debugging
Fixed
- Fixed some playOnAwake sources being logged an extra time in the console
- Fixed pitch and volume being tracked and applied incorrectly for cast effect sounds
[2.0.1] - 2025-Mar-19
Changed
- LogAudioPlayed is now false by default
- The PDB is now supplied alongside the mod for debug purposes
Fixed
- Fixed crash caused by audio sources with no output audio mixer group
- Added a bit of error handling
[2.0.0] - 2025-Mar-16
Added
- Added volume and pitch controls for tracks
- Added "overlay" sounds that play alongside a track instead of replacing it completely
- Rewrote the __routes.txt pack format to support the changes from above
- Added a modaudio.config.json pack format that allows full control over pack loading
- Improved load performance by streaming audio for large clips (over 1MB) that use .ogg, .mp3 or .wav
- Added support for Nessie's EasySettings mod
- Added support for reloading audio packs when using EasySettings, allowing you to add, remove and edit packs while you're playing
- Added support for toggling audio packs on and off when using EasySettings
- Added options for toggling console logging on and off when using EasySettings
- Improved audio logging, and added a configuration setting to filter out audio that plays too far from the player (when the main player is available)
- Added options to filter logged audio based on its audio group
Changed
- Audio logging now includes way more information in a concise manner
Fixed
- Fixed post-boss defeat music not being replaceable
- Fixed functionality being broken for audio sources that utilized
playOnAwake
for playing
Removed
- OverrideCustomAudio option has been removed. It may or may not return in the future, but you can always manually edit the packs you download in case you need adjustments
[1.1.0] - 2025-Jan-01
Added
- You can now specify multiple audio files per source clip in __routes.txt. ModAudio will play one at random, based on their weights.
- Each clip in __routes.txt can now specify a weight using the format
source = replacement / weight
(where weight is a decimal number, i.e.1.0
). This is used for random rolls when there are multiple clips present. - You can now use the
___default___
identifier when replacing audio. This allows you to include the vanilla audio as a clip that should be played randomly. - Added an
OverrideCustomAudio
option that can be used to override any custom audio from mods with whatever you specify in ModAudio itself. __routes.txt
now supports line comments. Lines starting with#
will be treated as a comment and ignored.
[1.0.4] - 2024-Dec-28
Changed
- Improved audio loading from root folder, it will now also load audio from root if there's at least one clip with a known vanilla name
[1.0.3] - 2024-Dec-27
Changed
- The mod will now load assets from mods that don't have a DLL plugin. It will load any audio from the "audio" folder (i.e.
BepInEx/plugins/Your-Mod/audio
) if it exists. It will also load audio from the root folder (BepInEx/plugins/Your-Mod/
) if there is a__routes.txt
file present
Fixed
- Fixed an issue related to using the mod without any audio under
ModAudio/audio
[1.0.2] - 2024-Dec-23
Changed
- Removed NAudio dependency in favor of UnityWebRequestMultimedia
Fixed
- Audio played via
AudioSource.PlayOneShot
should now be replaced correctly
[1.0.1] - 2024-Dec-23
Added
- Option to enable verbose logging of audio sources that are being replaced, and audio sources that are loaded in
Changed
- Improve reliability of audio replacement when scenes are loaded
[1.0.0] - 2024-Dec-22
Changed
Initial mod release