Releases: artriy/Perfect-Comms
Release list
Perfect Comms v4.1.10
Perfect Comms v4.1.10 supports the new Among Us v18 meeting player identifiers while retaining compatibility with validated pre-v18 releases.
Among Us v18 Compatibility
- Meeting voice features continue to identify the correct player on both old and new Among Us releases.
Among Us v18 replaced each meeting card's byte
TargetPlayerIdwith anInnerNet.PlayerIdvalue. Perfect Comms now resolves and caches whichever representation the running game exposes, normalizes it to the existing byte identity, and avoids a static dependency on either member. This keeps meeting speaking indicators, public-death roster updates, and identity-privacy checks available on v18 without dropping the validated pre-v18 path.
Perfect Comms v4.1.9
Perfect Comms v4.1.9 restores native microphone startup from deeply nested Windows installations while preserving secure native cache isolation.
Reliable Windows Microphone Startup
- Deep Windows install paths no longer prevent the native audio helper from launching.
Perfect Comms now measures the complete helper path before extraction. Native Windows installs that exceed the conservative 240-character launch budget use a persistent
%LOCALAPPDATA%\PerfectComms\nativecache, while shorter installs and Wine keep their existing install-relative cache. Elevated long-path hosts with UAC enabled fail closed and must be restarted without administrator privileges rather than executing across a UAC integrity boundary. Systems with UAC disabled can use the per-user cache because no split-token boundary exists. Content-addressed bundles, process-lifetime leases, stale-bundle pruning, and hash verification still apply. Launch diagnostics now include the selected cache root, projected path lengths, and nested Windows native error codes.
Perfect Comms v4.1.8
Perfect Comms v4.1.8 coordinates Bluetooth headset routing, keeps full-lobby voice startup from blocking Among Us networking, and removes an obsolete modded matchmaking override.
Coordinated Bluetooth Headset Audio
-
Windows Bluetooth headset profile changes no longer restart the audio helper.
When an active microphone has one exact WASAPI hands-free speaker partner, Perfect Comms now stops the old playback stream, opens capture, then resumes the paired output after the first capture callback or a bounded timeout. Stale transitions cannot revive playback after a newer route or shutdown, and ordinary wired, USB, virtual, separate-device, macOS, and Linux routes keep their existing behavior.
-
Mute, monitoring, and speaker recovery keep one atomic audio route.
Input, output, synthetic source, and stopped, warm, or transmitting capture state now cross one protocol boundary. Privacy closes before any Windows route probe, playback remains usable when an atomic update leaves its stream unchanged, and stale speaker fallback work cannot restore an older microphone policy.
Stable Full-Lobby Voice Startup
-
Large lobbies no longer mistake slow RTC work or a short scheduling pause for a frozen audio helper.
Each completed native peer operation advances a shared ten-second no-progress watchdog. The managed heartbeat counts completed unanswered PING rounds, accepts recent valid inbound control or media activity as liveness, and still stops after ten unanswered rounds. Retired Pion peers leave the live control queue immediately while their old writers finish closing in the background, so one blocked route cannot stall the remaining lobby.
-
Voice recovery no longer overlaps a retiring capture process.
Both a new lobby lease and same-lobby recovery wait for the old helper cleanup to finish before launching its replacement. Control EOF closes the transmit privacy fence before stopping capture, slow Windows audio teardown receives a three-second bound, and the native eight-second process fail-safe remains outside both privacy and capture deadlines.
-
A failing audio helper no longer freezes the lobby client.
Helper startup now runs outside the host coordination lock. While startup is pending, microphone commands and health queries return immediately instead of blocking the Unity update loop behind the native handshake timeout, so server heartbeats continue even when local WebRTC initialization fails.
Standard Lobby Matchmaking
- Perfect Comms no longer replaces Reactor's host-game request on recognized modded regions.
Lobby creation now stays on the active Among Us and Reactor matchmaking path instead of sending the obsolete custom message-25 request. Perfect Comms' independent Voice Lobby publishing, browser, room-code join, and private lobby behavior remain unchanged.
Perfect Comms v4.1.7
Important
TOU-Mira compatibility: TOU-Mira v1.7.0 and later require Perfect Comms v4.1.7 or newer. Perfect Comms v4.1.6 and earlier support TOU-Mira only through v1.6.3.
Perfect Comms v4.1.7 makes busy conversations clearer and more natural, fixes the public Voice Lobby browser, expands modded Team Radio support, and improves desktop installation and CrossOver reliability.
Safer Voice Controls While Typing
-
Mute and Deafen now use Right Alt and Right Control.
A one-time migration replaces every previous Mute and Deafen binding with the BetterCrewLink-style defaults, including customized or unbound values. The migration does not run again after players rebind either action.
-
Players can choose exactly which voice controls remain available in chat.
Allow Keybinds While Chat Is Open still enables every binding, while the new Choose Chat Keybinds editor provides a persistent checkbox for each individual control when the global option is off. Right Alt, Right Control, and mouse buttons MB4–MB7 start enabled; rebinding recalculates that binding's recommended default without overwriting later manual choices.
-
Typing and modal screens cannot leak delayed voice input.
Shared chat, rebinding, Perfect Comms panels, minigames, the Friends List, focus loss, and the Voice Lobby editor now use one input policy. Blocked holds and modifier chords require a physical release before they can activate again.
Important: Desktop Installation Change
-
Desktop releases are now safer, self-contained DLL downloads.
Perfect Comms no longer bundles or overwrites BepInEx. Players using a mod or modpack keep the exact BepInEx installation it provides or requires and place
PerfectComms.dllin the existingBepInEx/pluginsfolder, avoiding clashes with customized loaders, runtimes, patchers, and configuration. -
Fresh installations get BepInEx directly from its official build page.
Players without an existing mod installation download the matching x86 or x64 BepInEx 6 Unity IL2CPP build from the official BepInEx build service, run its first-time setup, and then add
PerfectComms.dll. Release automation no longer downloads or republishes third-party BepInEx files.
Clearer, More Natural Conversations
-
Busy meetings are easier to follow.
Natural meeting and end-game voices receive subtle, stable stereo positions instead of occupying the same point in the center. Meeting Spatial Audio offers Off, Low, and Full modes; Low is the default, Radio remains centered, and voices remain audible in both ears.
-
One unusually loud microphone no longer affects every simultaneous speaker.
Each participant now receives independent, noise-aware loudness control before user volume, proximity, panning, and effects. Loud laughter, excitement, and shouting are protected from unnecessary double attenuation, while a linked-stereo limiter safely catches rare overlapping peaks without shifting the stereo image.
-
Soft voices come through more naturally.
Mic Volume now changes only the transmitted level, not whether speech is detected. The optional gentle Noise Gate defaults off to preserve whispers, breaths, and soft word endings, while the existing High and Very High WebRTC noise-suppression choices remain unchanged.
-
Brief connection problems sound less disruptive.
The receiver recovers missing audio in chronological order using the best voice information available before synthetic concealment. It also begins from a fresh bounded tail after a stall, adapts latency more safely between talkspurts, and prevents overloaded receive work from starving the next playback round.
-
Play Again keeps voice uninterrupted from results to the lobby.
Returning to the same confirmed room retains its authenticated voice policy instead of briefly hard-muting remote players. Real disconnects, different lobbies, and reusing the same room code after disconnect still begin a safely reset voice session.
-
Muffled and fading voices sound more intentional.
Listener muffle now uses a clearer, stronger low-pass profile while remaining independent from Radio, Ghost, Wall, or natural voice processing, so it never replaces the selected route or adds wall reverb. TOU-Mira blindness, flash, and Mass Hysteria effects are task-only; sight obstruction remains independent from the optional tone change. Soft Fade reduces volume without unnecessarily changing the speaker's tone.
-
Ghosts hear nearby living players through walls.
Dead listeners keep the same configured task-phase hearing radius, including vision-radius limits and falloff, while ignoring vision linecasts, wall obstruction, and closed-door occlusion. Living players keep the host's existing sight and wall rules.
-
Closed doors block nearby voice only when players are actually separated by them.
Door occlusion now intersects the player-to-player path with each closed door's authored finite barrier instead of approximating the door as a circle around its center. Players standing together on one side no longer cut each other out, crossings near the real ends are handled correctly, and opening or closing a door invalidates stale occlusion results.
Fixed Voice Lobby Browser
- The public Voice Lobby browser works again.
Perfect Comms lobbies now appear and update correctly, so players can find and join hosted rooms from the browser again.
Expanded Mod and Team Radio Support
-
Role mods can add private Team Radio without rebuilding Perfect Comms controls or transport.
Registered radio groups use the existing selector, labels, desktop and Android controls, Push To Talk capture gate, and synchronized radio state. Matching living members receive the radio route, while non-members remain muted before broader voice rules can expose the channel.
-
TOU-Mira now owns its Perfect Comms integration end to end.
TOU-Mira registers its role rules, private radio memberships, persistent host settings, overlay privacy, animated colors, and listener effects through the public API. Perfect Comms no longer carries a TOU-specific role model, reflection resolver, duplicate settings tab, or compatibility fallback. Jailor buttons, permissions, lifecycle state, and RPCs remain in TOU-Mira, so removing Perfect Comms skips only the optional voice integration.
-
Registered host options survive restarts, and sight restrictions no longer imply muffled audio.
Bool, enum, and stepped-number options persist in the global BepInEx configuration while lobby snapshots remain temporary host overrides. API 1.2 separates
SightObscuredfrom the listener muffle effect, allowing mods such as Eclipsal and Grenadier to restrict sight-based hearing without changing voice tone.
Reliable CrossOver Audio Startup
- CrossOver on macOS now starts voice audio without opening an interactive Terminal.
The managed launcher restores the embedded helper's executable mode, removes quarantine when necessary, and starts the signed app through hidden LaunchServices. The app broker validates and supervises the real audio helper while preserving private authentication and cancellation; Linux Wine and Proton retain their existing native helper flow.
Developer API Package
- Mod integrations can compile against
PerfectComms.Apiwithout redistributing the runtime plugin.The reference-only
4.1.7.1NuGet revision contains thenet6.0compiler assembly and XML documentation without runtime, native, content, or build assets. Release gates compile a real package consumer and ensurePerfectComms.dllis not copied into its output, while tagged releases publish through short-lived NuGet.org credentials.
Perfect Comms v4.1.6
Important
TOU-Mira compatibility: Perfect Comms v4.1.6 and earlier support TOU-Mira only through v1.6.3. TOU-Mira v1.7.0 and later require Perfect Comms v4.1.7 or newer.
Perfect Comms v4.1.6 keeps living speaking avatars intact on the results screen and lets voice HUD elements reach their selected safe-screen edges without invisible padding.
Reliable Results-Screen Avatars
- Living speaking avatars keep their bodies on the results screen.
When the gameplay scene releases its live player objects, the results HUD rebuilds both living and ghost body artwork from the cached outfit instead of leaving surviving players as cosmetics-only or empty rings.
Edge-to-Edge HUD Placement
- Voice controls and speaking-bar content now reach their selected safe-screen edge.
Desktop controls no longer reserve an extra viewport margin or clamp against transparent PNG canvas space. Speaking-bar avatars, rings, and names own the edge instead of the backdrop's decorative padding, and the overlay camera follows the main camera's viewport and aspect.
Reuploaded the dll to fix macos/crossover.
Perfect Comms v4.1.5
Perfect Comms v4.1.5 keeps P2P voice fresh through stalls and packet loss, makes ICE and signaling recovery bounded and explicit, adapts reliably to a persistently weak path, improves transport diagnostics, and makes living and ghost speaking avatars match Among Us cosmetics more faithfully.
More Resilient P2P Voice
-
Direct voice now stays current when a connection stalls or loses packets.
Each peer retains only a bounded tail of fresh outbound speech, preserves the real RTP timeline across local capture gaps, and absorbs larger receive bursts without allowing playback delay to grow without bound. Bounded audio NACK, Opus FEC/DRED/PLC recovery, faster feedback, and congestion-aware bitrate changes improve recovery on lossy or bandwidth-limited Wi-Fi and mobile links.
-
A persistently weak route now influences quality without making one transient report penalize the lobby.
In larger rooms, the shared encoder still ignores one isolated bad sample, but repeated fresh evidence qualifies a single impaired path so sustained loss or bandwidth pressure receives protection. Degradation remains prompt, while recovery requires consecutive healthy windows to prevent bitrate and packet-loss protection from oscillating.
Stable, Bounded Connection Recovery
-
ICE recovery is explicit and stable when network paths change.
Generation-fenced ICE restarts preserve current peer state, direct UDP uses a bounded socket mux, and direct ICE-TCP remains available when UDP is restricted. Automatic candidate renomination is intentionally disabled: Perfect Comms does not automatically switch a live connection between direct and relay paths, and TURN credentials and relay selection policy remain unchanged.
-
Signaling recovery stays bounded under repeated failures.
Per-peer SDP, ICE-candidate, and restart work is generation-fenced, coalesced, and capped so current operations supersede stale work. Explicit acknowledgements and bounded recovery windows prevent a stalled helper or signaling backlog from accumulating obsolete work indefinitely.
-
Results-to-lobby voice no longer dips when Among Us briefly clears the lobby id.
The already-authenticated EndGame session is retained across the short same-lobby GameId gap instead of publishing a one-frame deaf mixer state. Explicit disconnects, new lobby ids, and every non-EndGame missing-id state still fail closed.
-
Healthy desktop microphone capture no longer receives a needless watchdog restart after startup.
The helper's generation-matched first native capture callback now proves the active capture attempt, so its continuing level cadence is counted immediately instead of being misclassified as three empty health windows.
More Faithful Speaking Avatars
-
Ghost speakers now use the game's complete ghost body and cosmetic geometry.
Publicly known deaths switch the speaking avatar to Among Us' ghost artwork at the correct scale, preserve layered hats and visors, and cache one stable post-death pose so an animated cosmetic cannot jump when a fading voice slot reappears. Hidden task-phase deaths remain private.
-
Living cosmetics preserve their intended depth and facing-specific artwork.
Back cosmetic layers remain behind the body, while asymmetric hats, skins, and visors use their dedicated left-facing idle art instead of mirroring the right-facing frame. Speaking avatars remain static rather than replaying world movement animations.
Better Voice Diagnostics
- Transport problems are easier to separate from capture and playback stalls.
Diagnostics now report selected path and protocol details, candidate-pair changes, signaling and media queue pressure, superseded or stale RTP, write timeouts and RTP send errors, local media gaps, receive loss and reordering, and latency catch-up activity.
Perfect Comms v4.1.4
Perfect Comms v4.1.4 makes Push To Talk respond instantly and remain reliable through results-to-lobby transitions, adds Push to Mute, makes chat keybind blocking and connection status optional, expands first-time setup, and prevents stale task-role muffling during meetings.
Faster, More Reliable Talk Controls
-
Push To Talk no longer reopens the microphone on every press.
While connected in Push To Talk mode, Perfect Comms keeps capture ready but discards microphone samples before encoding or transmission until the key is held. Pressing the key opens the native transmit gate immediately; changing devices, permissions, or a failed capture still uses the existing recovery path.
-
Push To Talk now stays held between the results screen and the lobby.
Continuous EndGame-to-lobby scene changes no longer masquerade as privacy boundaries and close the transmit gate while its key is still down. Chat, settings panels, rebinding, focus loss, leaving the lobby, and joining a new voice session still require a fresh press before transmission can resume.
-
Chat keybind blocking is now optional.
Perfect Comms still blocks all desktop voice shortcuts while chat is open by default. Enable Allow Keybinds In Chat in first-time setup's Choose How You Talk step or Allow Keybinds While Chat Is Open in Voice Settings > Keybinds to keep them active while typing; settings panels, rebinding, focus loss, and voice-session boundaries remain fail-closed.
-
A new Push To Mute shortcut provides momentary microphone muting.
Assign the unbound Push To Mute key in first-time setup or Voice Settings. The microphone stays muted while the shortcut is held, then returns to its prior mute state when released.
Cleaner Status and First-Time Setup
-
Routine connection progress now stays in the lobby and can be hidden.
Starting, syncing, and player-count progress appears only while assembling the lobby session. With Voice Connection Status enabled, retrying-audio status remains visible during active games, meetings, and other phases; disabling it hides both routine progress and retry status, while separate unavailable-device warnings remain available.
-
First-time setup now includes every optional voice HUD visibility choice.
The guided HUD step can hide the voice controls, lobby connection status, speaking bar, or meeting speaking overlay before the first save. Compact switches keep every label readable, and the live preview stays between those choices and the navigation footer. The miniature preview preserves the live HUD's row and column topology while scaling it to the setup card, so Top Middle's 15-player layout remains two balanced rows. Hiding the speaking bar also hides its layout picker and preview until the bar is shown again.
Clear Meeting Audio
- Eclipsal and Grenadier muffling now ends when a meeting begins.
The built-in blind/flash hearing effect is limited to the task world, so a Town of Us modifier retained during a meeting, exile, intro, or lobby transition can no longer keep every incoming voice muffled. Explicit phase-aware listener filters registered by other mods remain available in meetings.
Perfect Comms v4.1.3
Perfect Comms v4.1.3 makes voice recovery more reliable, prevents stalled connection messages from lingering, adds independent controls for optional voice HUD elements, and keeps settings consistent across multiple Among Us installations.
More Reliable Voice Connections
-
Repeated reconnects can no longer bury a player's live connection behind stale work.
The native voice helper now keeps only the newest generation of peer, SDP, restart, and ICE-candidate work for each player, with bounded candidate storage and explicit applied-operation acknowledgements. If a current operation does not complete promptly, only that client restarts its helper; a confirmed total mesh collapse can no longer defer global recovery forever. Direct peer-to-peer and TURN relay selection are unchanged.
-
An unreachable player no longer leaves the connecting message onscreen forever.
The compact voice HUD gives the current lobby up to 30 seconds to connect, then clears a stalled player-count message while voice recovery continues in the background. A changed lobby roster or a later connection regression starts a fresh bounded status window.
More Flexible Voice HUD
- Voice controls and the speaking bar can now be hidden independently.
The voice settings now include separate switches for hiding the microphone, speaker, deafen, and mobile radio controls or hiding the all-players speaking bar. The role-critical Jailor unmute button remains available; disabling either optional HUD feature hides only its related layout and appearance options.
Shared Settings Across Installations
- Perfect Comms settings now follow you across Among Us installations.
Perfect Comms stores one user-wide configuration in the game's persistent data folder instead of each installation's BepInEx folder. The first launch migrates the current installation's settings without deleting the old file, and simultaneous clients merge changed settings through locked, atomic writes so unrelated preferences are not overwritten.
Perfect Comms v4.1.2
Perfect Comms v4.1.2 rebuilds desktop capture and playback for more dependable device handling and clearer voice. Microphone stalls now preserve the correct timeline, damaged playback fades or recovers at safe boundaries, and one unstable connection can no longer reduce voice quality for an otherwise healthy lobby.
Rebuilt Desktop Audio
-
Desktop audio now runs through Mozilla Cubeb.
Perfect Comms now uses the same mature audio layer used by major desktop applications. Windows uses WASAPI with a WinMM fallback, macOS uses AudioUnit, and Linux uses PulseAudio or PipeWire with an ALSA fallback. Capture and playback remain low-latency while following each platform's native audio system more consistently.
-
Microphone and speaker selection is more reliable.
Perfect Comms now tracks stable device identities, correctly distinguishes devices with duplicate names, confirms that playback has actually started before reporting it ready, and can safely fall back to the default speaker when a selected output is no longer available.
-
Audio tests use the same native path as live voice.
Microphone monitoring and speaker tests now follow the selected native capture and playback routes. Device changes discard stale test audio, re-prime cleanly, and report clearer reasons when an output is unavailable, busy, denied by the system, or unable to start.
Clearer, More Stable Voice
-
Microphone stalls no longer splice unrelated audio together.
When capture briefly falls behind, Perfect Comms preserves the missing time instead of joining nonadjacent microphone samples. Short gaps become correctly timed concealed silence, while longer interruptions reset safely before live speech resumes. The same timing protection is used on desktop and Android.
-
Playback interruptions recover without harsh audio jumps.
Short dropouts, decoder recovery, voice-effect changes, and stream restarts now fade or crossfade over safe boundaries instead of producing abrupt waveform discontinuities. Filter and reverb transitions also finish smoothly when a voice becomes silent.
-
A full speaker buffer now fails safely.
If the output buffer fills, Perfect Comms discards the new overflowing block instead of deleting audio that was already queued. Playback receives a discontinuity marker, clears stale data, and re-primes rather than replaying delayed audio or producing static.
-
One damaged connection no longer lowers quality for everyone.
Send-quality adaptation now ignores a single isolated bad route when the rest of the lobby is healthy. Multiple genuinely degraded connections still reduce bitrate and increase packet-loss protection when needed.
Diagnostics and Validation
-
Voice diagnostics can identify the failing audio stage.
Diagnostic sessions now report capture timing, dropped samples, microphone clipping, DSP status, Opus gap recovery, packet loss, jitter-buffer recovery, output overflow, callback health, and the actual native devices and backends in use.
-
Native helper packaging is more strongly verified.
Release checks now validate the Cubeb backend, protocol contract, architecture, bundled runtime libraries, and companion Pion transport for Windows 32-bit and 64-bit, Linux, and Intel and Apple Silicon Macs. Stale helpers from the retired desktop audio engine are rejected before launch.
Perfect Comms v4.1.1
Perfect Comms v4.1.1 makes voice connections easier to understand and more flexible across different networks. A new live status shows exactly what voice is waiting for, while the rebuilt cross-platform connection engine adds more relay options and stronger handling for busy lobbies.
Know When Voice Is Ready
- See exactly what voice is waiting for.
The compact voice HUD now shows whether audio is starting, the lobby session is syncing, how many players are connected, or Perfect Comms is retrying after an audio failure. The message disappears once voice is ready and remains stable through brief scene transitions.
Stronger Cross-Platform Connections
-
The peer-to-peer connection engine has been rebuilt.
Windows, Steam Proton and Linux, CrossOver on Intel and Apple Silicon Macs, and Android now use Pion WebRTC for voice connections. Direct peer-to-peer voice remains preferred, while existing proximity effects, controls, and audio processing remain unchanged.
-
More ways through restrictive networks.
Automatic and custom relay fallback can now use TURN over UDP or TCP, including secure TLS and DTLS options. This gives voice more connection routes to try when a firewall, VPN, or network blocks ordinary UDP.
-
Busy lobbies and reconnects are better protected.
The connection layer has been hardened for several players joining together, connection restarts, network-path changes, and players leaving or rejoining without needlessly disturbing healthy voice links.
Maintenance and Validation
- Broader connection and release checks.
Automated coverage now exercises direct voice, live relay fallback, repeated connection restarts, mixed 32-bit and 64-bit helpers, platform packaging, and a complete ten-player voice mesh.