Sygent-VoiceFix icon

VoiceFix

Automatically fixes all voice chat bugs — no more needing to re-host or rejoin lobby to hear other players

CHANGELOG

Changelog

[v1.1.0] - Mic Recovery Integration

Mic recovery features inspired by LC Mic Recovery by Aueser. Original concepts have been enhanced with adaptive intervals, device history tracking, and coordinated mic+playback recovery.

Added

  • Microphone capture pipeline monitoring: Automatically detects when your mic stops working — empty mic name, device unplugged mid-game, Dissonance capture stalled, or Unity reporting not recording.
  • Automatic ResetMicrophoneCapture(): Resets the Dissonance microphone capture pipeline when failures are detected, without requiring a lobby restart.
  • Game-side ResetDissonanceCommsComponent: Safely invokes the game's own reset coroutine with exception-guarded wrapper to prevent cascading Unity errors.
  • Manual recovery keybind (F8): Press F8 at any time to force a full voice recovery (both mic capture and playback bindings). Configurable key.
  • Non-invasive HUD notification: Brief on-screen message when manual recovery is triggered, so you know it worked. Can be disabled in config.
  • Preferred device keyword selection: Configure keywords (e.g. "Blue Yeti,HyperX") to prioritize specific mic devices during recovery.
  • Smart device recovery with history: Remembers your last working microphone and prioritizes it during recovery, even without keyword configuration. Fallback order: last working device → keyword match → current device → first available.
  • Adaptive recovery intervals: Check interval automatically shortens to 1s when problems are detected, then returns to normal (default 3s) after 3 consecutive healthy checks. Catches failures faster without wasting CPU during normal play.
  • Cross-system coordination: When playback bindings break, mic health is also rechecked. When manual recovery triggers, both mic and playback are refreshed together. Prevents cascading failures.
  • Scene and teardown guards: Mic recovery is suspended during menu/lobby scenes and when the game state is unsafe for reset operations.
  • Post-recovery grace period: Configurable delay (default 4s) after recovery before checking capture state again, giving Dissonance time to reinitialize.

Changed

  • Version bumped to 1.1.0.

[v1.0.2] - Voice State Desync Fixes

Added

  • Walkie-talkie desync fix: Clears stuck speakingToWalkieTalkie when walkie is dropped or player dies.
  • Enemy voice muffle fix: Clears stuck voiceMuffledByEnemy when enemy (e.g. Snare Flea) dies or is destroyed before releasing the player.
  • Revive voice reset: Full reset of voice pitch, audio filters (low-pass, high-pass, OccludeAudio), spatial blend, and all voice flags on revive.
  • Spectating voice fix: Refreshes voice bindings when switching spectate target if the target has broken voice state.
  • Underwater muffle fix: Properly clears underwater voice muffle when player stops sinking.
  • Monitor: stuck walkie-talkie detection: Detects players flagged as speaking into walkie-talkie when they don't hold one.
  • Monitor: stuck enemy muffle detection: Detects players with voiceMuffledByEnemy when no enemy is interacting and they're not underwater.
  • Monitor: stuck voice pitch detection: Detects voice pitch stuck far from 1.0 when target pitch is 1.0.

[v1.0.1] - Change description

  • Change description.

[v1.0.0] - Initial Release

  • Initial release.
  • Added automatic Dissonance voice tracking and repair logic.
  • Added voice binding retry with progressive delays (1s, 2s, 4s).
  • Added OnDisable state caching to prevent voice state loss during scene loads.
  • Added faster join voice init (progressive retry instead of 12s single wait).
  • Added continuous voice health monitor with configurable intervals.
  • Added configurable check intervals for performance tuning.
  • Added Thunderstore packaging support.