Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
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
speakingToWalkieTalkiewhen walkie is dropped or player dies. - Enemy voice muffle fix: Clears stuck
voiceMuffledByEnemywhen 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
voiceMuffledByEnemywhen 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.