Feature Support
As our Rive editor grows to support more features and toolsets in making Rive assets, sometimes our runtimes need to be updated to support these updates. These editor additions may or may not introduce an API change or feature. You may need to update the runtime version to support these features. Check below to see if a feature your Rive asset takes advantage of is supported at runtime yet or not. We generally recommend you are on the latest version of the runtimes to take advantage of follow-on bug fixes and new features.
We may include notes on migrating to newer versions if a new feature warrants recent API changes.
Layout
To add support for responsive layouts, bump the appropriate versions noted below to support this new feature. This feature allows Rive to automatically update the artboard size as the underlying view/canvas/widget/texture size changes. See
Runtime | Version |
---|---|
(Web) | ✅ |
React | ✅ |
React Native | ✅ |
Flutter | Not yet supported |
iOS/macOS | ✅ |
Android | ✅ |
C++ | ✅ Supported |
Unity | ✅ |
Fallback Fonts
To add support for fallback fonts, bump the appropriate versions noted below to support this new feature. This feature allows Rive to use a fallback font if a glyph is not available. A default font is automatically chosen, or you can optionally configure the desired fallback font based on various options. See Fallback Fonts.
Runtime | Version |
---|---|
(Web) | Not yet supported |
React | Not yet supported |
React Native | Coming soon |
Flutter | Not yet supported |
iOS/macOS | ✅ |
Android | ✅ |
C++ | ✅ Supported |
Unity | Not supported |
Nested Text
To add support for setting nested text, bump the appropriate versions noted below to support this new feature. This feature enables setting text on nested artboards (components), see Nested Text.
Runtime | Version |
---|---|
(Web) | ✅ |
React | ✅ |
React Native | ❗️Coming soon |
Flutter | ✅ |
iOS/macOS | ✅ |
Android | ✅ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Nested Inputs
To add support for setting nested inputs, bump the appropriate versions noted below to support this new feature. This feature enables setting inputs on nested artboards (components), see Nested Inputs.
Runtime | Version |
---|---|
(Web) | ✅ |
React | ✅ |
React Native | ✅ |
Flutter | ✅ |
iOS/macOS | ✅ |
Android | ✅ |
C++ | ✅ Supported |
Unity | ✅ |
Randomization
To add support for Randomization, bump the appropriate versions noted below to support this new feature. This feature enables randomizing transitions between animations and customizing the probability.
Runtime | Version |
---|---|
(Web) | ✅ |
React | ✅ |
React Native | ✅ |
Flutter | ✅ |
iOS/macOS | ✅ |
Android | ✅ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Rive Audio
To add support for Rive Audio, bump the appropriate versions noted below to support this new feature. For more information, see
Runtime | Version |
---|---|
(Web) | ✅ |
React | ✅ |
React Native | ✅ |
Flutter | ✅ |
iOS/macOS | ✅ |
Android | ✅ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Nested Inputs and Nested Events
To add support for nested inputs and nested events, bump the appropriate versions noted below to support this new feature. For more information, see
Runtime | Version |
---|---|
(Web) | ✅ |
React | ✅ |
React Native | ✅ |
Flutter | ✅ |
iOS/macOS | ✅ |
Android | ✅ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Out-of-band Assets
To load assets dynamically, instead of embedded in the riv
file, bump the appropriate versions noted below to support this new feature. For runtime specific information, see
Runtime | Version |
---|---|
(Web) | ✅ |
React | ✅ |
React Native | ❗️Coming soon |
Flutter | ✅ |
iOS/macOS | ✅ |
Android | ✅ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Rive Events Support
To receive reported Rive Events at runtime, bump to the appropriate versions noted below to support this new feature. For runtime specific information, see
Runtime | Version |
---|---|
(Web) | ✅ |
React | ✅ |
React Native | ✅ |
Flutter | ✅ |
iOS/macOS | ✅ |
Android | ✅ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Text Support
To take advantage of basic Text support at runtime, bump to the appropriate versions noted below to support this new feature. For runtime specific information, see
Runtime | Version |
---|---|
(Web) | ✅ |
React | ✅ |
React Native | ✅ |
Flutter | ✅ |
iOS/macOS | ✅ |
Android | ✅ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Note that we will proactively update the above versions as additional APIs on runtimes expose ways to dynamically set text (high and low-level), among other related features.
Follow Path Support
To take advantage of follow path at runtime, bump to the appropriate versions noted below to support this new feature.
Runtime | Version |
---|---|
(Web) | ✅ |
React | ✅ |
React Native | ✅ |
Flutter | ✅ |
iOS/macOS | ✅ |
Android | ✅ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Interpolation on States Support
To take advantage of Interpolation on States at runtime, bump to the appropriate versions noted below to support this new feature.
Runtime | Version |
---|---|
(Web) | ✅ |
React | ✅ |
React Native | ✅ |
Flutter | ✅ |
iOS/macOS | ✅ |
Android | ✅ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Joystick Support
To allow any Joystick configuration from the editor to reflect at runtime, bump to the appropriate versions noted below to support this new feature.
Runtime | Version |
---|---|
(Web) | ✅ |
React | ✅ |
React Native | ✅ |
Flutter | ✅ |
iOS | ✅ |
Android | ✅ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Solo Support
To take advantage of Solos at runtime, bump to the appropriate versions noted below to support this new feature.
Runtime | Version |
---|---|
(Web) | ✅ |
React | ✅ |
React Native | ✅ |
Flutter | ✅ |
iOS | ✅ |
Android | ✅ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Speed on States Support
If you set speed values on states in the state machine, bump to the appropriate versions noted below for the runtime being used to support this new feature.
Runtime | Version |
---|---|
(Web) | ✅ |
(Web) | ✅ |
React | ✅ |
React Native | ✅ |
Flutter | ✅ |
iOS | ✅ |
Android | ✅ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Graph Editor Support
If you use the timeline graph editor in the Rive editor and export a .riv
file for runtime usage, bump to the appropriate versions noted below for the runtime being used to support this new feature.
Runtime | Version |
---|---|
(Web) | ✅ |
(Web) | ✅ |
React | ✅ |
React Native | ✅ |
Flutter | ✅ |
iOS | ✅ |
Android | ✅ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Listeners Support
Runtime | Version |
---|---|
(Web) | ✅ |
(Web) | ✅ |
React | ✅ |
React Native | ✅ |
Flutter | ✅ |
iOS | ✅ |
Android | ✅ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Notes
rive-react
- Starting inv3.0.0
the React runtime has split into two different published packages;@rive-app/react-canvas
and@rive-app/react-webgl
, each wrapping the respective@rive-app/canvas
and@rive-app/webgl
web runtimes. We recommend using@rive-app/react-canvas
@rive-app/webgl
- There is a new flag here,useOffscreenRenderer
which is off by default. This flag will allow you to work around the various browser constraints on the number of WebGL contexts created. We highly recommend setting this option totrue
when instantiating Rive in the high-level API. See more here: https://github.com/rive-app/rive-wasm#other-notes.rive-react-native
- Starting inv3.0.0
, it will have a minimum iOS14.0
support
No extra code is needed to support listeners, and you do not need to invoke listeners via event listener/detector code at runtime. If the Rive file has a listener as part of the state machine at design time, the runtime library has implicit event listener/detector code to trigger the listeners at the appropriate time
Mesh Deformation Support
Runtime | Version |
---|---|
(Web) | ✅ |
(Web) | ✅ |
React | ✅ |
React Native | ✅ |
Flutter | ✅ |
iOS | ✅ |
Android | ✅ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Notes
rive-react
- Starting inv3.0.0
the React runtime has split into two different published packages;@rive-app/react-canvas
and@rive-app/react-webgl
, each wrapping the respective@rive-app/canvas
and@rive-app/webgl
web runtimes. We recommend using@rive-app/react-canvas
@rive-app/webgl
- There is a new flag here,useOffscreenRenderer
which is off by default. This flag will allow you to work around the various browser constraints on the number of WebGL contexts created. We highly recommend setting this option totrue
when instantiating Rive in the high-level API. See more here: https://github.com/rive-app/rive-wasm#other-notesRegarding web-based runtimes and meshes:
Keep in mind that as meshes grow across larger screen areas, they become more resource-heavy on some devices
Avoid complex transforms repeatedly on the
<canvas>
elements that display Rive animations (or<RiveComponent />
in the React runtimes)We recommend using
@rive-app/webgl
to display mesh on Firefox for best performance
Raster Asset Support
Runtime | Version |
---|---|
**(Web) | ✅ |
**(Web) | ✅ |
**React | ✅ |
React Native | ✅ |
Flutter | ✅ |
iOS | ✅ |
Android | ✅ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Notes
For the web runtimes, we have deprecated
rive-js
and moved to a multi-package setup for a JS runtime that runs against thecontext2d
andwebgl
renderer:Note that the new web runtime packages all support raster assets, and the high-level JS API did not change in this migration
@rive-app/canvas
- Renders Rive with aCanvasRenderingContext2D
renderer@rive-app/webgl
- Renders Rive with aWebGLRenderingContext
renderer.We recommend using the
@rive-app/canvas
dependency, but check here to see which might fit your needs better