
I created MicRaw, a free and open-source speech-to-text plugin for Unreal Engine. It gives developers an offline workflow for converting live microphone input and prerecorded WAV files into usable text without sending audio to a cloud service.
MicRaw combines Vosk for responsive real-time recognition with an optional Whisper workflow for more accurate final transcription. It can power subtitles, voice commands, accessibility features, dialogue capture, searchable transcripts, and other voice-driven gameplay systems.
The plugin is available on GitHub under the MIT License.
MicRaw provides a complete transcription layer for Unreal Engine rather than a simple speech recognition wrapper.
Key features include:
I designed three selectable recognition modes:
Each result carries source information, allowing downstream systems to distinguish between a live Vosk update and a refined Whisper result. I also prevented final Whisper results from triggering commands a second time in hybrid mode.
Unreal’s microphone input does not arrive in a format that can simply be handed to every speech recognition engine. I built an audio pipeline that captures microphone samples, buffers them safely, prepares them for recognition, and sends results back to Unreal’s game-facing systems.
This required careful handling of:
Fast recognition and accurate recognition often require different approaches. Vosk is well suited to responsive partial transcription, while Whisper is better suited to refined final text but requires more processing.
The hybrid workflow addresses this tradeoff by giving the user immediate feedback through Vosk and replacing or supplementing it with a higher-quality Whisper result when the speech segment finishes.
Hybrid recognition introduces a subtle problem: the same spoken phrase can appear first as a Vosk result and later as a Whisper result. Without a guard, one phrase could trigger the same gameplay command twice.
I attached a source type to every recognition result and limited command evaluation to the appropriate live recognition source.
The four large Vosk models used during development occupied approximately 9.2 GiB. Including them directly in Git would make the repository difficult to clone and exceed normal GitHub file limits.
I solved this by:
This reduced the public source repository to approximately 0.38 MiB, excluding the optional dependencies.
MicRaw supports English, Hindi, Japanese, and Spanish. This exposed font and rendering issues, especially when using Unreal’s basic debug text tools, which do not contain all required glyphs.
I created a subtitle workflow using Unreal UI components and language-aware font configuration so multilingual text can be rendered correctly in production interfaces.
Unreal Engine minor releases can change build defaults, include ordering, editor dependencies, and API behavior.
I added explicit compatibility checks and verified editor compilation across:
The plugin currently targets Win64 and uses version-aware build settings to surface compatibility problems early.
MicRaw is implemented as two Unreal modules:
The architecture separates recognition engines behind a shared backend interface. This allows Vosk, Whisper, and the hybrid workflow to use the same Unreal-facing component and event system.
The plugin integrates with:
MicRaw can produce 7 export formats:
These outputs support several use cases, including subtitles, dialogue review, narrative pipelines, accessibility records, searchable session history, and external processing.
MicRaw turns speech recognition into a reusable Unreal Engine system that developers can access from both C++ and Blueprint. It handles audio capture, recognition, subtitles, commands, language models, editor tooling, persistence, exports, and engine compatibility in one plugin.
The result is a private, offline foundation for voice-enabled games and interactive applications, released publicly so other Unreal developers can use it, study it, and contribute to it.