Creator tools

Mic Guard for OBS

Get warned the moment an OBS recording starts without your microphone — before you talk for an hour into nothing.

A quiet home recording desk at dusk: a studio microphone on a boom arm beside a monitor showing audio meters sitting completely flat, with a small amber warning card glowing in front of the screen

Mic Guard runs inside OBS and checks your microphone the instant you hit record.

Why this exists

Fifty minutes. No audio.

Johanna recorded a fifty-minute take for YouTube. A good one — one of those where it just flows. Then she opened it in the editor.

There was no audio. Not quiet audio. None. Fifty minutes of a person talking animatedly to a camera, and four tracks of digital silence.

The cause had been sitting in the OBS log the whole time. The microphone source was pointing at a Windows audio device that no longer existed, because the USB microphone had been unplugged and plugged back in and Windows had quietly issued it a new identity.

The source was still listed. Not muted.
The fader was where she left it.
The meter just sat flat.

And a flat meter looks exactly like “I haven’t started talking yet.” Nothing turned red. Nothing warned her. That is the entire problem this fixes.

If you unplug your gear, this will happen to you.

OBS does not remember your microphone by name. It saves a Windows endpoint ID — a long identifier tied to how Windows enumerated that device on that day. Windows can issue a new one when you move a USB microphone to a different port, use a hub or a dock or a KVM, update an audio driver, or let the machine sleep with a powered hub on a switched outlet.

When that happens, OBS keeps the old ID, fails to open it, writes a line in a log file nobody reads, and records silence. It is not carelessness and there is no setting that prevents it.

It gets worse with more than one scene collection. Every collection stores its own copy of that device ID, so they drift apart independently. You fix the one you are using, it works, and you reasonably conclude the problem is solved — until you switch to a different collection weeks later and it is silent again. In Johanna’s own setup the audit found one healthy collection and five broken ones.

That is why this feels random, and why “switching profiles broke my mic” is the wrong diagnosis. Switching did not break anything. It revealed a copy that had been broken for weeks.

What you get.

Catches the device that quietly disappeared

OBS saves your microphone as a Windows endpoint ID, not a name. Replug the USB and Windows can issue a new one. The old ID records perfect silence, and nothing in OBS turns red.

Then it listens, to be sure

Configuration can look perfect while another app holds the microphone in exclusive mode. So it also watches real audio levels for the first twenty seconds.

Checks every scene collection, not just this one

Each collection keeps its own copy of the device ID, so they drift apart. The included audit checks all of them at once — that is usually where the surprises are.

Fixes them in bulk, carefully

The repair tool refuses to run while OBS is open, never guesses which device you meant, backs up every file it touches, and does nothing at all until you confirm.

Silent when everything is fine

No popup to dismiss before every take. You are never trained to click through the warning that actually matters.

Plain text you can read

A commented Lua script and two PowerShell files. No build step, no installer, no network calls, no account. Open them in Notepad.

Five minutes to set up. Then you stop thinking about it.

  1. 01

    Add the script.

    Copy one file into a folder, then OBS Tools → Scripts → +. Nothing to install — the scripting engine is already part of OBS.

  2. 02

    Type your microphone’s name.

    One settings box, matching the name in your OBS audio mixer. Two test buttons confirm alerts reach you before you need one.

  3. 03

    Audit what you already have.

    Close OBS and run the included check. It inspects every scene collection at once and tells you which ones are already silently broken. Most people find at least one.

Make it yours

Point an AI at the folder and tell it what you want.

Everything is plain text with no build step, and the included documentation explains the reasoning behind every design decision — which is what makes AI edits come out correct instead of plausible.

Open your assistant in the folder, say what your setup looks like and what you want changed, and it has the context to do it properly. Six ready-made prompts cover the usual requests: change the alert to a sound, a log file, or a phone notification; check at different moments, such as when you switch scene collections; add checks specific to your rig, like confirming the right camera is live or that you are recording to the right drive; or simply have it explain every line to you before you decide to trust it.

Written to be modified

Commented throughout, with the trade-offs documented. An assistant that reads the limitations file will tell you when a change reintroduces a problem that was deliberately avoided.

Nothing hidden

No obfuscation, no compiled binary, no telemetry, no network calls. One prompt is dedicated to having an AI audit the code for you before you run it.

Before you buy

  • Windows 10 or 11, and OBS Studio 28 or newer. Developed and verified against OBS 32.2.1. Not supported on macOS or Linux.
  • This prevents future losses. It cannot recover a recording that is already silent. Those samples are zeros.
  • You install it once per scene collection. OBS registers scripts per collection — about fifteen seconds each, and the documentation explains why it matters.
  • It checks that audio is arriving, not that it sounds good. A live-but-wrong microphone, bad gain, or clipping will pass every check.
  • It checks when recording starts, not continuously. A popup over your face mid-take is its own ruined recording.
  • You are buying scripts, prompts, and documentation — not an application with an interface.

A few things to know.

Will this recover a recording I already lost?

No, and be wary of anything that claims otherwise. If the microphone was never captured, the audio samples in the file are zeros and there is nothing to reconstruct. This is preventative: it tells you in the first seconds so you lose fifteen seconds instead of an hour. There is one exception worth checking, and an included prompt walks an AI through it: in a multi-track setup, another source may have been bound to the same microphone and recorded on a different track. It is a long shot, but it costs two minutes.

Do I need to know how to code?

No. Copy one file into a folder, add it through the OBS Tools menu, and type your microphone's name into one settings box. The documentation walks through it step by step, including what to click. Everything beyond that is optional.

Is this an OBS plugin? Do I need Python?

Neither. OBS has a built-in Lua scripting engine and this is a Lua script, so there is nothing extra to install. It is not a plugin, it does not patch OBS, and it does not add anything to Windows startup or run in the background.

What exactly does it check?

Six things, the moment recording starts: the mic source exists in the current scene collection; the Windows audio device it points at still exists; it is not muted; the volume fader is not at zero; it is assigned to an audio track your recording actually writes; and real audio arrives within a grace window you can adjust. The first five are instant and deterministic. The sixth is a safety net that waits, because a noise gate plus a presenter who has not started talking looks exactly like a dead microphone for the first few seconds.

Will it interfere with obs-websocket or my other OBS tools?

No. It registers an ordinary OBS frontend event callback, which is a separate subscriber from obs-websocket and anything else listening. It never consumes, filters, reorders, or delays events, and it never starts or stops an output or modifies a source. It only reads.

Does it work on macOS or Linux?

Windows only. The stale-device check reads Windows WASAPI endpoint IDs, the alert uses a Windows component, and the audit tools are PowerShell reading the Windows registry. An included prompt helps an AI adapt it, but that is not a supported configuration and the most valuable check does not translate — device bindings are considerably more stable on macOS and Linux to begin with.

Why is it only fifty cents?

Because it is a small thing that prevents a large loss, and it was built to solve a real problem anyway. Charging nothing tends to mean nobody installs it; this is priced to be an easy yes.

A digital product by Synoptic Foundry LLC. Terms of service · Privacy policy · Contact & purchase support