DynamicMusicMeetings
Dynamic Music during Among Us meetings based on the state of the game.
By BdeBruno
| Date uploaded | 2 weeks ago |
| Version | 1.0.0 |
| Download link | BdeBruno-DynamicMusicMeetings-1.0.0.zip |
| Downloads | 24 |
| Dependency string | BdeBruno-DynamicMusicMeetings-1.0.0 |
This mod requires the following mods to function
BepInEx-BepInExPack_AmongUs
BepInEx pack for Among Us. Preconfigured and ready to use.
Preferred version: 6.0.700README
DynamicMusicMeetings
Dynamic music during Among Us meetings. The track that plays changes on its own depending on how the game is going: calm if things are fine, tense if it's getting risky, and climax if you're near from losing.
⚠️ You need to provide your own audio files
This mod does not ship with any music. No audio is bundled, on purpose (if you use tracks from the original Danganronpa soundtrack or any other copyrighted music, that's on you to have the rights to use).
Create the folder BepInEx/plugins/DanganronpaVotes/Audio/ (if it doesn't exist yet) and put these 6 files inside, with these exact names:
| File | When it plays |
|---|---|
trial_calm.wav |
Crewmate, calm tier |
trial_tense.wav |
Crewmate, tense tier |
trial_climax.wav |
Crewmate, climax tier |
trial_impostor_calm.wav |
Impostor, calm tier |
trial_impostor_tense.wav |
Impostor, tense tier |
trial_impostor_climax.wav |
Impostor, climax tier |
Audio format: .wav (PCM), 8, 16, or 32-bit, mono or stereo. Any standard sample rate (44100 Hz, 48000 Hz...) works.
If a file is missing, the mod just won't play that particular track (you'll see a warning in the BepInEx log) — everything else keeps working normally.
Features
- Music per meeting: as soon as a meeting opens, a track starts playing based on the current margin between alive crewmates and alive impostors.
- Three intensity tiers: Calm, Tense, and Climax, with separate tracks for crewmates and impostors.
- Fade in / fade out: music fades in smoothly (2s) and fades out smoothly (1s) when the meeting closes — no abrupt cuts.
- Real crossfade when the tier changes mid-meeting (e.g. someone dies while everyone's discussing): the old track fades down while the new one fades up, no gaps or jumps.
- "Muffled" effect on voting: the moment you confirm your vote, the music sounds muffled/underwater for the rest of the meeting. If you're a ghost, it sounds like that from the very first second (ghosts can't vote, so there'd be no point waiting for that).
- First meeting is more forgiving: the very first meeting of the match favors the calm tier, unless the match already went badly before that first meeting even happened (someone already died beforehand).
- Stops instantly if you leave the game mid-meeting, instead of lingering in the background.
Requirements
- BepInEx for Among Us (installed automatically if you use a mod manager like the Thunderstore Mod Manager or r2modman).
Notes
- The intensity calculation is based purely on how many crewmates/impostors are alive relative to each side's starting total; it doesn't depend on the map or game mode.
- The muffled effect generates a filtered version of each track the first time it's needed, in the background, so it doesn't cause stutters.
Known issues / feedback
If something doesn't sound right, open an issue or message me with the BepInEx log (BepInEx/LogOutput.log) from the match where it happened.
Credits
Developed by BdeBruno. Built on BepInEx, HarmonyLib, and Il2CppInterop.
CHANGELOG
Changelog
All notable changes to the mod are documented in this file.
[1.1.1]
Fixed
- Muffled vote effect not triggering for non-host players. The effect relied on
MeetingHud.CmdCastVoteandMeetingHud.CastVote, both of which turned out to be unreliable when you weren't the host — neither fired for your own vote in that case, so the muffled effect simply never happened. Now hooked intoPlayerVoteArea.VoteForMeinstead, which fires reliably for everyone regardless of host status. - Initial impostor/crewmate count drifting mid-match. If a player disconnected partway through a match, the "how many impostors/crewmates were there at the start" count would silently shrink to match however many players were still connected — throwing off the impostor solo/accompanied logic (and the tension curve in general) for the rest of that match. The starting counts are now captured once, on the first meeting of the match, and stay fixed for the rest of that match no matter who disconnects afterwards.
Technical notes
PlayerVoteArea.VoteForMe()is a purely local UI method — it runs on your own client the instant you confirm your vote, with no dependency on network round-trips or host authority. This makes it a more reliable hook than the Cmd/RPC-style vote methods for detecting "the local player just voted." TheMeetingHud.CmdCastVote/MeetingHud.CastVotepatches from 1.0.0 have been removed in favor of this one.- Added a one-time snapshot (
_matchTotalImpostors/_matchTotalCrewmates), captured on the firstUpdateVoteMusiccall of a match and reset onStopVoteMusicImmediate(return to menu). All tension/margin calculations now read from this snapshot instead of recomputing totals live from the current player roster, since disconnected players silently drop out of that live count.
[1.1.0]
Fixed
- Voting music now respects the in-game "Music Volume" slider from the options menu. Previously it always played at a fixed internal volume, regardless of what the player set in the menu.
- The mod's
AudioSources are now routed to the same mixer channel (SoundManager'sMusicChannel) that the game itself uses for its music, so volume changes apply in real time, even mid-vote, with no need to restart the meeting.
Technical notes
- The internal volume used by fades and crossfades (
TargetVolume) is unchanged: the mixer applies the slider's gain on top of that value, so the fade-in, fade-out, crossfade, and vote-muffle systems all keep working exactly as before. - If
SoundManager.Instance.MusicChannelisn't available at the moment the audio object is created, a warning is logged and the music falls back to the previous fixed volume.
[1.0.0]
Added
- Dynamic voting music with 3 intensity tiers (Calm / Tense / Climax), computed from the margin between alive crewmates and alive impostors, with different rules for crewmates vs. impostors.
- Real crossfade between tracks using two overlapping
AudioSources. - A "muffled" music effect when voting (or for ghosts), computed via a low-pass filter applied in the background over the audio samples.
- A manual
.wavparser (WavUtility), needed becauseUnityWebRequestMultimediadoesn't work in this build due to code stripping. - Automatic intensity recalculation if a player leaves the game mid-vote.
- Harmony patches on
MeetingHud.Start,MeetingHud.Close,MeetingHud.VotingComplete,MeetingHud.CmdCastVote,MeetingHud.CastVote, andAmongUsClient.OnPlayerLeft.