BdeBruno-DynamicMusicMeetings icon

DynamicMusicMeetings

Dynamic Music during Among Us meetings based on the state of the game.

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.CmdCastVote and MeetingHud.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 into PlayerVoteArea.VoteForMe instead, 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." The MeetingHud.CmdCastVote / MeetingHud.CastVote patches from 1.0.0 have been removed in favor of this one.
  • Added a one-time snapshot (_matchTotalImpostors / _matchTotalCrewmates), captured on the first UpdateVoteMusic call of a match and reset on StopVoteMusicImmediate (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's MusicChannel) 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.MusicChannel isn'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 .wav parser (WavUtility), needed because UnityWebRequestMultimedia doesn'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, and AmongUsClient.OnPlayerLeft.