Introduction
Libraries facilitate the sharing of components and their view models across Rive files. In the past, you may have relied on nested artboards and copy-paste workflows to share elements. This works for individuals, but breaks down at scale: exports bloat, versions drift, and teams lose track of changes. With Libraries:- Components can be published and reused across project files.
- Updates flow downstream with version history and change notifications.
- Teams can collaborate without worrying about mismatched assets.
Libraries are availble on Voyager and Enterprise plans. Learn more about our plans and pricing.
Creating a Library
Any file can be made into a library. First, you’ll need to create a component and/or a view model before you can publish the file as a library. Select an artboard on the stage and use the component icon in the inspector orShift
+ N
to toggle its status as a component.


You can identify a library file by the icon in the tab bar and in the file browser.
Importing from a Library
To start using components and view models from a published library, select the library icon present in both the asset and data panels. The library panel displays alongside the hierarchy/asset/data column, and displays a list of the available libraries for the active file.
Currently, a Rive file can only access libraries contained within the same project. Cross-project — or workspace — libraries are coming soon. Public libraries are planned soon after that.

You can use the version dropdown to browse and import previous iterations of libraries and their components.


Updating a Library
After publishing, you can continue to make changes, add, or remove components, view models, and enums. Republish the library via the same option in the export or file menus. Upon publishing an updated version of the library, any files that have imported elements from it will display a small badge indicating an available update.

Detatching
After importing a component from a library and creating an instance of it on the stage, you may choose to detach it. Detaching a component will decouple it from the source and copy over its contents into your active file. Any references to it will be redirected to the new local copy. You may want to detach a component to make changes to it, without changing the source.It’s not possible to re-attach a component after it has been detached.

Export Options
By using libraries, you create a series of dependencies between files. For example, an instance of an imported component depends on the library file it came from, which in turn may depend on an image asset used within the component, or perhaps another component from a different library entirely. The export options control what and how components and any assets they depend on get exported to a riv file. These options are available across assets and components, with an additonal layer of separation for libraries specifically. To access the export options for a given component, asset, or library, select it in the asset panel and set the desired options in the inspector.
- Automatic: Include this asset/component in the export if it’s being used somewhere on the stage. For assets contained within a library, this option is inherited from the source file.
- Force Export: Export this asset/component, regardless of whether or not it’s referenced within the file.
- Prevent Export: Don’t include this asset/component in the export, regardless of whether or not it’s referened within the file.
Currently, the export behavior for assets within a library component can only be set at the library level, not per component. To do so, set the panel display mode to Source/Type, and select the library item in the asset panel.

Unpublishing a Library
Use the Unpublish Library action in the file menu to prevent additional files from accessing the library and its components. Unpublishing does not remove library components from host files that had already imported them. Host files that have imported library components will retain access to previously published versions of the library. You may republish a library at any time.