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.
MicSnitch
Snitches on whoever is talking - quiet background filtered, loud shouters in red. Toggle with F8. Resolves real nicknames via PhotonView ID.
By efmeow
| Last updated | 26 minutes ago |
| Total downloads | 90 |
| Total rating | 1 |
| Categories | Mods Tools Misc Client-side AI Generated |
| Dependency string | efmeow-MicSnitch-1.1.1 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2100README
Mic Snitch
Snitches on whoever is talking. Shows the nicknames of every player currently transmitting voice, right on your screen — so the soundboard spammer on the loading screen has nowhere to hide.
A working replacement for the old, deprecated See_who_is_talking mod, which stopped
showing names in current R.E.P.O. builds.
What you see
- A list of currently-talking players in the upper-right corner.
- Loud / shouting players — bold red, stay visible for 3 seconds. A sudden shout always pops out, even when 10 other people are also on the mic.
- Normal speech — soft yellow, fades after ~0.7s.
- Quiet background noise is filtered out by amplitude — open-mic players who are just breathing into the headset don't pollute the list.
- Sorted with loud people on top.
Hotkey
- F8 — toggle the overlay on/off. When hidden, a faint
[F8] Mic Snitchhint stays in the corner so you never forget the toggle.
Why
In R.E.P.O. voice is proximity-based in a level, but global on loading screens
and in the lobby — that's where someone always blasts a soundboard and you have no
idea who. The old mod hooked the per-player Speaker component to find out.
Problem: when other players run cosmetic mods (MoreHead & co.), their
SetupCosmeticsModdedRPC fails, the Speaker never gets created, and the old mod
sees nothing.
How it's fixed
Mic Snitch hooks RemoteVoiceLink.OnDecodedFrameFloatAction — the per-frame decoded
audio callback at the VoiceClient level, before the player init / Speaker step.
It fires for every remote voice that has a stream, including not-inited players.
From the decoded float samples it computes the peak amplitude, classifies the speaker
(quiet / normal / loud) and resolves the nickname through
PhotonNetwork.CurrentRoom.GetPlayer(actorNumber).NickName, which keeps working even
when a player's local object is broken by RPC errors.
Local mic state is read directly from LocalVoice.IsCurrentlyTransmitting, so your
own name shows when you talk too — works even alone in a lobby for testing.
Everything is resolved via reflection — if a future game patch renames a type, the mod logs a warning and degrades gracefully instead of crashing.
Install
Use a mod manager (r2modman / Thunderstore app) — it handles the BepInExPack
dependency. Manual install: drop MicSnitch.dll into BepInEx/plugins/.
Credits
Concept inspired by the original See_who_is_talking by xiaolei. Rebuilt from scratch.