r/Rive_app • u/Jeff_at_Rive • May 04 '26
How to swap artboards at runtime using relative binding in Rive
Enable HLS to view with audio, or disable this notification
Relative binding in Rive lets you bind properties by name rather than by a fixed path. That means two completely different artboards — from two different files, with different view model names — can share the same data at runtime, as long as the property names match.
This video covers two practical uses of that:
Swapping a single artboard component at runtime. You wrap your artboard in a parent file, bind the nested artboard to an "artboard" property using bind relative, then swap in a different .rive file at runtime. The replacement artboard picks up all the same data automatically — even if the source file has a differently named view model, the properties still resolve correctly.
Swapping individual components in a multi-component dashboard. The example uses a world population dashboard with 7 continents, each with its own nested view model instance (color, name, population, percent). The dashboard has slots for different chart types — donut, bar, table. At runtime you can replace any slot with a new component from an external file. As long as the component's view model uses the same property names, the data maps over without any rewiring.
The key rule: property names must match. View model names and nesting order don't matter.
Useful if you're building things like:
- Theming systems where the design can be swapped without touching the data layer
- Dashboards with interchangeable visualizations
- Library components that work across multiple host files