Immersive proximity voice chat, built directly inside Among Us.
Controls · Install · Supported Mods · For Mod Developers
Perfect Comms makes voice chat feel like part of the match. Players talk in-game, hear the people around them, find voice-ready lobbies, and play with voice rules that fit the way Among Us is actually played.
- Voice built into Among Us, no Discord or mute bots
- Extremely immersive proximity audio
- Optional Meetings & Lobby Only mode for a simpler setup
- Role-specific voice behavior
- Built-in voice lobby discovery
- Simple in-game controls, plug and play
Proximity by default. Everyone talks through their own mic and hears each player by how close they are in-game, clear up close and quiet at a distance.
The host tunes the round. Hearing range, wall and vision occlusion, ghost and meeting rules, and a meetings-only mode are all host options, so each lobby plays how its host sets it.
Perfect Comms works on its own as a proximity voice mod. Some mods unlock extra voice behavior, integrations activate automatically when the mod is present and stay dormant when it is not.
| Mod | Voice behavior |
|---|---|
| TOU-Mira | Blackmailer, Jailor, Parasite / Puppeteer, Swooper, and Glitch mutes. Crewpostor impostor voice rules. Medium ghost voice modes. Muffled hearing for Eclipsal, Grenadier, and Hypnotist effects. Team Radio for Impostors, Vampires, and Lovers, with keybind cycling. |
| Hosts set the match rules | Players set their own audio |
|---|---|
| Talk distance, falloff, and occlusion | Mic and speaker device |
| Vent, ghost, and meeting voice rules | Open mic, push to talk, and an optional noise gate |
| Team Radio channels | Meeting spatial audio, plus noise suppression and echo cancellation on desktop |
| Role-based mutes (with supported mods) | Per-player volume and HUD layout |
| Key | Action |
|---|---|
Right Alt |
Mute / unmute microphone |
Right Ctrl |
Deafen / undeafen |
Hold C |
Push To Talk |
Hold V |
Team Radio |
G |
Cycle Team Radio channel |
Shift+B |
Open Player Volumes |
F7 |
Refresh voice connection |
F10 |
Open Voice Settings |
F11 |
Open Host Voice Settings |
Note
Optional shortcuts are off by default.
Assign any of these in Voice Settings > Keybinds:
- Push To Mute (hold)
- Toggle Open Mic / Push To Talk
- Alive Louder / Dead Quieter (hold)
- Alive Quieter / Dead Louder (hold)
Tip
First time using Perfect Comms?
- Open Mic is the default: your voice sends automatically when you speak.
Tap
Right Altto mute or unmute your microphone. - Push To Talk: select it in Voice Settings > Audio, then hold
Cwhenever you want to speak. - Deafen: tap
Right Ctrlto stop hearing voice and pause your microphone until you undeafen. - Team Radio: when your role and the host settings allow a private channel,
hold
Vto talk and pressGto cycle available channels.
The Starlight tester build uses in-game touch controls instead of desktop keybinds:
- In Open Mic mode, tap the microphone button to mute or unmute.
- In Push To Talk mode, hold the microphone button while speaking and release it to stop.
- When Team Radio is available, tap its button to change channel or hold it to transmit.
- Tap the speaker button to deafen or undeafen. Deafening mutes playback and pauses microphone transmission.
Platform notes
- Desktop: Press and release
Right Altto mute or unmute, andRight Ctrlto deafen or undeafen. If you press either one together with another key, Perfect Comms does not mute or deafen. Both controls work while chat is open by default; choose which other shortcuts work there from Voice Settings > Keybinds. - HUD reminder: Enable Voice Settings > HUD > Mute / Deafen Status Reminder to keep your muted or deafened state visible.
Starting with v4.1.7, the desktop build is distributed as a plugin DLL only. It does not include BepInEx.
Tip
Desktop: if your mod provides BepInEx
- Close Among Us.
- Keep the BepInEx installation supplied by the mod or modpack. Do not install or merge another copy over it.
- Download
PerfectComms.dllfrom the latest release. - Place or replace the DLL in
BepInEx/plugins.
Important
Desktop: if BepInEx is not provided
Use this path if your mod does not provide BepInEx, or if you are not using another mod.
- Download BepInEx 6 Unity IL2CPP from the official BepInEx build page.
- Choose the build for your platform:
- Steam or itch.io:
Unity.IL2CPP-win-x86 - Epic Games Store or Microsoft Store:
Unity.IL2CPP-win-x64
- Steam or itch.io:
- Extract BepInEx into the folder containing
Among Us.exe. - Launch the game once to complete BepInEx setup, then close it.
- Download
PerfectComms.dllfrom the latest release and place it inBepInEx/plugins.
BepInEx/
└─ plugins/
└─ PerfectComms.dll
Android support is available as the single managed PerfectCommsStarlight.dll
tester build. It is not an APK and should be used only in an All Of Us
staff-approved test or Starlight beta/local-mod build, following the
Starlight developer testing guide.
It uses Starlight recording and Unity playback, follows Android's system audio route, and interoperates with desktop players in the same voice lobby. Open Perfect Comms from the in-game Options menu.
Perfect Comms installs beside mods that use Reactor or MiraAPI (such as TOU-Mira) without replacing their loader or dependencies. For BepInEx setup help, see the official IL2CPP installation guide.
Making a roles mod? You can add your own voice behaviours to Perfect Comms without forking it: mutes, private routes, persistent host options, concealment-safe overlays, animated colors, and managed Team Radio that reuses Perfect Comms' selector/PTT/network path. Compile against the small reference-only API package; it never installs or copies the Perfect Comms runtime into your mod:
<PackageReference Include="PerfectComms.Api"
Version="4.1.7.1"
PrivateAssets="all" />4.1.7.1 is the reference-only API package revision and is versioned independently from the player-facing mod. It supports Perfect Comms 4.1.7 and later runtimes that retain this API contract. Players still install Perfect Comms separately. Declare it as a soft dependency and register your rules only when it is present:
[BepInDependency("com.edgetel.perfectcomms", BepInDependency.DependencyFlags.SoftDependency)]
// in Load():
PerfectCommsApi.RegisterVoiceRule("com.me.mymod", ctx =>
ctx.Phase == VoicePhaseKind.Meeting && MyRoles.IsGagged(ctx.Player)
? VoiceRuleResult.Mute("Gagged")
: VoiceRuleResult.Pass);Full guide, every primitive, and copy-paste examples are in the Mod Integration Wiki.
- Original repo: FangkuaiYa/AmongUs-VoiceChat
- BetterCrewLink: OhMyGuus/BetterCrewLink
- Peer transport: Pion WebRTC
- Special thanks to idkimneil, the reason I made this.
Perfect Comms is an unofficial mod. It is not affiliated with Innersloth, Among Us, BepInEx, MiraAPI, Reactor, BetterCrewLink, or any supported mods.