Inhyeong OBS WebSocket Client
FabUnreal Engine Plugin • OBS Studio
Control OBS Studio over its WebSocket v5 protocol directly from the Unreal Editor and at runtime, via Blueprint or C++. Built for streamers, VTubers, and virtual-production workflows that want OBS driven by in-engine events, gameplay, or the Sequencer timeline, with no external scripting.
Requirements
- Unreal Engine 5.4 or newer
- OBS Studio with obs-websocket 5.x enabled
- Some features (such as recording chapters) need OBS 30.2 or newer
Full OBS Control
Drive nearly every part of OBS from the engine, with cached state and live events so your game can both command OBS and react to it.
- Scenes and scene items
- Scene-item transforms (position, scale, rotation, crop, bounds)
- Recording, streaming, and virtual camera
- Replay buffer and instant replays
- Audio: mute, volume, balance, sync offset, monitoring, track routing
- Transitions and Studio Mode
- Source filters (add, remove, reorder, enable)
- Screenshots to memory or file
- Inputs and sources, media playback, input settings
Mic / Voice-Activity Detection
Drive OBS from your microphone, the canonical VTuber loop of talking becomes animated and idle becomes resting, entirely in-engine. The plugin watches an input's audio levels and runs them through a debounced detector with attack and release timing, so brief word-gaps do not flicker the state, then fires an event when the input crosses talking and idle.
No-Code Trigger Volume
A placeable actor that fires OBS actions when actors enter or exit an area, with no code. Actions can be gated by conditions: recording or streaming state, a required or excluded scene, audio activity (whether a named input is talking or idle), and source visibility (whether a source is visible or hidden in a scene). Switch scenes, save replays, mute audio, toggle filters, and more.
Outbound Game Events to OBS
Push structured events from the engine to OBS as a namespaced custom event. OBS-side plugins and scripts, browser-source overlays, or other connected WebSocket clients can listen and react, so gameplay can drive your overlays and OBS-side automation.
Sequencer Integration
Control OBS directly from Unreal's Level Sequencer with frame-accurate timing across four track paradigms:
Event Trigger
40+ discrete actions fired at specific timeline points (record, stream, switch scene, save replay, and more)
Keyframeable
Smooth interpolation via the curve editor for volume, balance, transform, color, filter settings, transition duration, and media cursor
Continuous State
Hold a state while the playhead is inside a section (mute, visibility, lock, blend mode, filter, studio mode, transition)
Media Sync
OBS media cursor follows the Sequencer timeline with drift correction
Action throttling, deduplication, batched requests, and pre-animated state restoration keep playback smooth and reversible.
Production Workflow
Take Recorder Sync
Auto start and stop OBS recording with Take Recorder, turn marked frames into chapters, and log file correlation between takes and recordings
Request Batching
Send multiple OBS commands in a single network request with configurable execution modes
Persistent Data
Store small key/value blobs inside OBS that survive restarts, scoped globally or per profile
In-Editor Details Panel
Live status indicators, a scene browser, audio controls, and test controls that work without entering Play mode
Multiple Entry Points
Pick the integration that fits your use case. Every path talks to the same OBS client underneath.
OBS Component
Drop on any Actor and configure in the Details panel. Full control with zero code.
Game Subsystem
Global access from anywhere in game code, at runtime, via Blueprint or C++.
Editor Subsystem
Drive OBS from the editor without entering Play mode.
Trigger Volume
No-code actor that fires OBS actions when actors enter or exit an area.
Sequencer Track
Timeline-based control synced to Level Sequences with frame-accurate timing.
Availability
Inhyeong OBS WebSocket Client is a commercial plugin coming to Fab. This page will link to the Fab listing once it is published.
Coming soon to FabSupport
Questions, bug reports, or feature requests? Reach out by email and I will get back to you.
[email protected]You can also read the development log for background on how the plugin was built.