ResoniteSpout
A resonite mod that enables real-time camera output streaming via Spout.
| Last updated | 5 days ago |
| Total downloads | 18 |
| Total rating | 0 |
| Categories | Tools |
| Dependency string | Zozokasu-ResoniteSpout-1.0.4 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
Nytra-InterprocessLib
Library for mods to send data to the renderer and back.
Preferred version: 2.0.1README
ResoniteSpout
A Resonite mod that enables real-time camera output streaming via Spout for seamless integration with OBS, vMix, and other video production software.
Features
- 🎥 Multiple Camera Support - Stream multiple Resonite cameras simultaneously
- 🏷️ Dynamic Camera Naming - Customize Spout sender names for easy identification
- ⚙️ Configurable Prefixes - Filter cameras by user-specific prefixes
- 🔄 Automatic Management - Cameras are automatically created and cleaned up
- 🚀 Zero Latency - Direct GPU texture sharing for minimal performance impact
Installation
Automatic (Recommended)
- Install BepisLoader for Resonite
- Install via Thunderstore mod manager or download from Releases
Usage
Basic Setup
- Create a
DynamicVariableSpacecomponent and name itResoniteSpout.YourName - Add a
DynamicValueVariable<RenderTextureProvider>namedTargetRTP - Connect your camera's render texture to the variable
- The Spout sender will appear in OBS/vMix as
[ResoSpout] YourName
Advanced: Custom Camera Names
Optionally add a DynamicValueVariable<string> named CameraName:
ResoniteSpout.YourName
├── TargetRTP (RenderTextureProvider) → Your camera's render texture
└── CameraName (string) → "MainCamera"
The Spout sender will appear as [ResoSpout] YourName - MainCamera
Multiple Cameras
You can create multiple camera setups with different names:
ResoniteSpout.Studio1→ Appears as[ResoSpout] Studio1ResoniteSpout.Studio2→ Appears as[ResoSpout] Studio2
Configuration
Edit BepInEx/config/zozokasu.ResoniteSpout.Engine.cfg:
[General]
# Filter to only monitor specific cameras
# Empty = Monitor all ResoniteSpout.* spaces
# Example: "MyName" = Only monitor "ResoniteSpout.MyName"
SpacePrefix =
OBS Setup
- Add a Spout2 Capture source to your scene
- Select your Resonite camera from the dropdown (e.g.,
[ResoSpout] YourName) - Done! The feed updates in real-time
Requirements
- Resonite with BepInEx
- BepisResoniteWrapper
- RenderiteHook
- InterprocessLib
- Windows with Spout-compatible graphics card
Use Cases
- 🎬 Live Streaming - Capture Resonite worlds directly in OBS
- 🎮 Game Development - Preview in-game cameras in real-time
- 📺 Virtual Production - Integrate Resonite into broadcast workflows
- 🎨 Content Creation - Record high-quality footage without screen capture
Troubleshooting
Camera not appearing in OBS:
- Verify the
DynamicVariableSpacename starts withResoniteSpout. - Check BepInEx logs for errors
- Ensure both Engine and Renderer plugins are installed
Multiple cameras conflict:
- Each
DynamicVariableSpacemust have a unique name - Use different suffixes (e.g.,
ResoniteSpout.Camera1,ResoniteSpout.Camera2)
Building from Source
git clone https://github.com/Zozokasu/ResoniteSpout.git
cd ResoniteSpout
dotnet build -c Release
Output files will be in out/
Credits
Built with:
- Spout - GPU texture sharing
- InterprocessLib by Nytra
- RenderiteHook by ResoniteModding
License
MIT License - See LICENSE for details
Support
- 🐛 Issues: GitHub Issues
- 💬 Discord: Resonite Modding Community
- 📖 Docs: Resonite Modding Wiki