Overview
A full-featured OBS WebSocket client plugin for Unreal Engine 5.4+ that enables real-time control of OBS Studio directly from the Unreal Editor and at runtime. Built for streamers, VTubers, and virtual-production workflows that drive OBS from in-engine events, gameplay triggers, or the Sequencer timeline, with no external scripting required.
Multiple Ways to Control OBS
| Method | Use Case |
|---|---|
| OBS Component | Add to any Actor for easy Blueprint integration |
| OBS Trigger Volume | Automatically trigger OBS actions when actors enter/exit areas |
| Sequencer Track | Timeline-based OBS control synced to Level Sequences |
| Game Subsystem | Global access from anywhere in your game code |
| Editor Subsystem | Control OBS from the editor without entering Play mode |
Full OBS Control
- Sequencer Integration - Timeline-based OBS control with:
- Event Trigger Track - 40+ discrete actions (record, stream, scene switch, etc.)
- Keyframeable Tracks - Smooth interpolation for volume, balance, transform, color, filter settings, transition duration, media cursor
- Continuous State Tracks - Hold states during sections (mute, visibility, lock, blend mode, filter enabled, studio mode, transition)
- Media Sync Track - Synchronize OBS media playback with Sequencer timeline
- Pre-animated state restoration, action batching, 33ms throttling
- Configuration - Scene collections, profiles, video settings (resolution, FPS)
- Scenes - Switch scenes, show/hide sources, get scene lists
- Scene Items - Add, remove, duplicate, lock/unlock, reorder (z-order), blend modes
- Scene Item Transforms - Position, scale, rotation, crop, and bounding box control
- Studio Mode - Preview scenes before going live, studio transitions
- Transitions - Change scene transitions, set duration, monitor transition progress
- Filters - Add, remove, enable/disable, reorder source filters
- Screenshots - Capture screenshots from any source to memory or file, with scaling options
- Recording - Start, stop, pause, resume, split recording, add chapter markers, set record directory
- Streaming - Start, stop streaming with status monitoring
- Virtual Camera - Start, stop virtual camera output
- Replay Buffer - Start, stop, save instant replays
- Generic Output Control - Start, stop, toggle any output by name (for custom/plugin outputs)
- Stream Captions - Send CEA-608 closed captions during streams
- Audio - Mute, unmute, adjust volume, balance, sync offset, monitor type, and track routing for any input
- Input Management - Create, remove, rename inputs (sources)
- Input Settings - Configure text, URLs, file paths, colors for sources
- Media Sources - Play, pause, stop, seek media inputs
- Auto-Reconnect - Automatic reconnection with exponential backoff when connection drops
Rich Editor Integration
- Custom Details Panels with live status indicators
- Minimal component / feature picker: pick only the feature domains you need from a card grid at the top of the panel. Unselected domains are hidden and their high-volume event streams are not subscribed. Connection is always on. Starts with a sensible default selection (Scenes + Recording & Streaming) and has Enable-all / Reset.
- Prominent, always-expanded Connection card with a masked (show/hide) password field
- Scene browser with expandable source lists
- Audio input controls with volume adjustment
- One-click recording/streaming controls
- Test controls that work without entering Play mode
- Consistent styling via shared style system
Take Recorder Integration (experimental)
| Feature | Description |
|---|---|
| Auto Start/Stop Recording | OBS recording syncs with Take Recorder start/stop |
| Chapter Markers | Take Recorder marked frames become OBS chapters |
| Virtual Camera Sync | Optionally sync OBS virtual camera with takes |
| Scene Switching | Switch to specific OBS scenes on take start/stop |
| Post-roll | Keep OBS recording running for N seconds after Take Recorder stops |
| File Correlation | Log OBS file paths alongside take asset paths |
Efficient Request Batching
Send multiple OBS commands efficiently in a single network request with configurable execution modes.
Where to go next
- Installation: install the plugin and enable the OBS WebSocket server.
- Quick Start: four ways to start controlling OBS in minutes.