Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

obs-rive

An OBS Studio plugin that renders Rive animations (.riv files) as a video source — feeding the same Rive C++ runtime + GPU renderer used by TDRive into OBS via an async video source.

  • macOS (arm64) — Metal backend, obs-rive.plugin
  • Windows (x64) — D3D11 backend, obs-rive.dll
  • Linux (x64) — GL backend (EGL pbuffer + desktop GL), obs-rive.so

Prerequisites

Platform Tools
macOS Xcode CLT, brew install premake cmake obs
Windows Visual Studio 2022 (C++ workload), premake5.exe on PATH. OBS doesn't publish a Windows SDK, so for local builds either install OBS via the installer with the "Plugin Development Kit" component checked, or follow the same clone-and-build-libobs flow CI uses (see .github/workflows/build.yml).
Linux build-essential cmake ninja-build clang libobs-dev libegl1-mesa-dev libgl1-mesa-dev, plus premake5 (Linux release zip — Ubuntu has no package).

Build

Step 1 builds the Rive runtime once per Rive commit (5–10 min, cached on CI).

macOS / Linux

./scripts/build_rive.sh
cmake -B build -DCMAKE_BUILD_TYPE=Release -DLIBOBS_PATH="$(brew --prefix obs)"   # macOS
cmake -B build -DCMAKE_BUILD_TYPE=Release                                       # Linux (libobs-dev gives pkg-config)
cmake --build build --config Release

Windows

scripts\build_rive.bat
cmake -B build -G "Visual Studio 17 2022" -A x64 -DLIBOBS_PATH="C:\Program Files\obs-studio"
cmake --build build --config Release

Install

Drop the produced binary into OBS's plugin path:

  • macOS: ~/Library/Application Support/obs-studio/plugins/obs-rive.plugin
  • Windows: %PROGRAMFILES%\obs-studio\obs-plugins\64bit\obs-rive.dll
  • Linux: ~/.config/obs-studio/plugins/obs-rive/bin/64bit/obs-rive.so

Restart OBS, then add + → Rive Source in any scene.

Source properties

Property What it does
Riv File File picker for the .riv.
Reload Re-reads the file from disk.
Artboard Dropdown populated from the loaded file.
State Machine Dropdown populated from the chosen artboard.
Width / Height Output texture size.
Fit / Alignment Same Fit + 3×3 anchor as the Rive editor.
Speed Playback multiplier.
Background RGBA clear color. Alpha = 0 → transparent output.
State Machine Inputs One control per SMI input found in the file (float / toggle / pulse-via-toggle).
View Model One control per VM property (string / number / bool / trigger).

The dropdowns and dynamic input/VM groups rebuild whenever the file or artboard changes — no manual wiring.

Triggers

OBS doesn't have a dedicated pulse control, so trigger-typed inputs and VM properties show as a toggle. Switching the toggle ON fires the trigger. Switch it OFF and ON again to fire it again.

About

Rive renderer built into obs.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages