Live controller
Set up the Live Controller
TL;DR — Channels are independent control surfaces. Open one, pick a scene, edit inputs on Preview, hit Play to push it Live.
What a channel is
A channel is one independent control environment. Each channel has its own state.
Use channels to:
- Run the same animation in multiple languages, side by side
- Isolate controls for different events or feeds
- Customize inputs per region or sponsor
One animation, many channels, no cross-contamination.
Open a channel
- Open the Channels section.
- Pick a channel from the list.
- Click the channel ID to enter the live controller.
What you'll see
The controller surfaces every User Input and Smart Input from your Rive file. Inputs that share the same name and type are grouped into a single control — change once, update everywhere.
The interface has two screens:
- Preview — staging area. Test changes here without affecting air.
- Live (Program) — what the audience sees.
Toggle between them with the screen buttons. The active screen is highlighted in a solid color. Your edits land on whichever screen you're viewing.
Control a scene
- Pick the scene from the controller list.
- Its controls appear in the panel.
- Edit values — text, scores, timers, toggles.
- Watch Preview update in real time.
- Press Play to push Preview to Live.
The status bar
The top bar of the controller shows the connection state of the channel and a short history of what has been sent.
Check it when something doesn't land. A value you changed that never reached the overlay almost always shows up here as a dropped connection rather than as silence — which is the difference between "try again" and "go and look at the output machine".
If the connection drops mid-show, the controller keeps retrying on its own and tells you when it is back. You do not need to reload the page.
Edit resources without leaving the controller
Smart Inputs are backed by resources — a team, a player, a sponsor. During a show you often need to fix one of them: a name spelled wrong, a score that needs a colour, a logo swapped.
You can do that from the controller directly.
- Inline settings. Common fields appear right on the control panel next to the input that uses them. Colours open a picker.
- Nested resources. Click through to a linked resource and it opens in a panel that works like a file browser — the path is shown at the top, you drill into a nested resource, and you go back the way you came. However deep the nesting goes, you stay in one place.
Changes save as you make them and reach the overlay immediately.
Edits reach the air without a reload
When you change a scene, an animation or a resource — from the controller or from the editor — any output currently showing it updates in place.
Where we can, we push just the changed data, so the animation keeps running: no re-mount, no flash, no restarted entrance transition. Edits that change the structure of the scene do need a reload, and the overlay handles that itself.
In practice: fixing a misspelled name mid-show is invisible to the audience.
Auto-play
Some User Inputs (timers especially) have an auto-play checkbox.
When auto-play is on, the input fires the moment you push its scene to Live. Use this for entrance animations, intro countdowns, anything that should start immediately when the scene goes on air.
When auto-play is off, the producer triggers it manually.
What Play does
Pressing Play does two things:
- Pushes the current Preview scene to Live.
- Fires every auto-play event configured on that scene.
It does not reset state on other inputs. Anything you set manually before pressing Play stays set.
Drive it from somewhere else
Everything on this page is also available over HTTP, which is how you wire a stream deck, a hardware panel, or a Companion module to the same channel.
See the Quadraviz API.
Next steps
- Bind your data — Wire up the animation side of the pipeline
- The Quadraviz API — Control a channel from a panel or a script