Feature Support
As our Rive editor adds features for making Rive assets, sometimes our runtimes need to be updated to support these improvements. This may mean new or changed APIs.
Check below to see if a given feature used by your Rive asset is supported yet at runtime. We generally recommend that your project uses the latest version of the runtimes to take advantage of follow-on bug fixes and new features.
Certain features require the use of the Rive Renderer at runtime. See our documentation on choosing a renderer. Currently, the only feature that requires the Rive Renderer is Vector Feathering.
We may include notes on migrating to newer versions if a new feature warrants recent API changes.
Right to Left Layouts & Text
Right to Left Layouts & Text
Runtime | Version |
---|---|
Web | ✅ 2.26.7+ |
React | ✅ 4.18.6+ |
React Native | ✅ 9.2.1+ |
Flutter | Not yet supported |
Flutter (rive_native) | ✅ v0.0.1-dev.7+ |
Apple | ✅ 6.7.4+ |
Android | ✅ 10.0.4 |
C++ | ✅ Supported |
Unity | ✅ 0.3.5+ |
Unreal | ✅ 0.3.0a-gh |
Text Follow Path
Text Follow Path
Runtime | Version |
---|---|
Web | ✅ 2.26.7+ |
React | ✅ 4.18.6+ |
React Native | ✅ 9.2.1+ |
Flutter | 🚧 Coming soon |
Flutter (rive_native) | ✅ v0.0.1-dev.7+ |
Apple | ✅ 6.7.4+ |
Android | ✅ 10.0.4 |
C++ | ✅ Supported |
Unity | ✅ 0.3.5+ |
Unreal | ✅ 0.3.0a-gh |
Data Binding
Data Binding
See Data Binding Overview and Data Binding for Runtimes.
Runtime | Version |
---|---|
Web | ✅ 2.26.6+ |
React | ✅ 4.20.0+ |
React Native | ✅ 9.3.0+ |
Flutter | 🚧 Coming soon |
Flutter (rive_native) | ✅ 0.0.1-dev.8+ |
Apple | ✅ 6.8.0+ |
Android | ✅ 10.1.0+ |
C++ | ✅ Supported |
Unity | ✅ 0.3.6-canary.27 |
Unreal | ✅ 0.3.0a-gh |
Vector Feathering
Vector Feathering
This feature is only supported with the Rive Renderer. See Choose a Renderer.
Runtime | Version |
---|---|
Web (@rive-app/webgl2 ) | ✅ 2.26.0+ |
Web (@rive-app/canvas and @rive-app/webgl ) | Not supported |
React (@rive-app/react-webgl2 ) | ✅ 4.18.0+ |
React (@rive-app/react-canvas and @rive-app/react-webgl ) | Not supported |
React Native | ✅ 9.0.0+ |
Flutter | Not yet supported |
Flutter (rive_native) | ✅ >= 0.0.1-dev.6 |
Apple | ✅ 6.6.0+ |
Android | ✅ 10.0.0+ |
C++ | ✅ Supported |
Unity | ✅ 0.3.3-canary.72+ |
Unreal | ✅ 0.3.0a-gh |
N-Slicing
N-Slicing
See N-Slicing.
Runtime | Version |
---|---|
Web (@rive-app/canvas and @rive-app/webgl ) | ✅ 2.23.11+ |
React | ✅ 4.16.7+ |
React Native | ✅ 8.2.0+ |
Flutter | Not yet supported |
Flutter (rive_native) | ✅ >= 0.0.1-dev.6 |
Apple | ✅ 6.4.0+ |
Android | ✅ 9.12.0+ |
C++ | ✅ Supported |
Unity | ✅ 0.2.2-canary.22+ |
Unreal | ✅ 0.2.2+ |
Layouts
Layouts
Allows Rive to automatically update the artboard size as the underlying view/canvas/widget/texture size changes. See Layouts.
Runtime | Version |
---|---|
Web (@rive-app/canvas and @rive-app/webgl ) | ✅ 2.23.3+ |
React | ✅ 4.16.0+ |
React Native | ✅ 8.1.0+ |
Flutter | Not yet supported |
Flutter (rive_native) | ✅ >= 0.0.1-dev.6 |
Apple | ✅ 6.3.0+ |
Android | ✅ 9.10.0+ |
C++ | ✅ Supported |
Unity | ✅ 0.2.1+ |
Unreal | ✅ 0.2.1+ |
Fallback Fonts
Fallback Fonts
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 (@rive-app/canvas and @rive-app/webgl ) | Not yet supported |
React | Not yet supported |
React Native | Not yet supported |
Flutter | Not yet supported |
Flutter (rive_native) | Not yet supported |
Apple | ✅ 6.1.0+ |
Android | ✅ 9.7.0+ |
C++ | ✅ Supported |
Unity | Not supported |
Unreal | Not Supported |
Nested Text
Nested Text
Enables setting text on nested artboards. See Nested Text.
Runtime | Version | |
---|---|---|
Web (@rive-app/canvas and @rive-app/webgl ) | ✅ 2.21.0+ | |
React | ✅ 4.14.0+ | |
React Native | ✅ 5.8.2+ | |
Flutter | ✅ 0.13.7+ | |
Flutter (rive_native) | ✅ >= 0.0.1-dev.6 | |
Apple | ✅ 6.1.0+ | |
Android | ✅ 9.8.0+ | |
C++ | ✅ Supported | |
Unity | ✅ Supported | |
Unreal | ✅ 0.1.14+ |
Nested Inputs
Nested Inputs
Enables setting inputs on nested artboards. See Nested Inputs.
Runtime | Version |
---|---|
Web (@rive-app/canvas and @rive-app/webgl ) | ✅ 2.17.3+ |
React | ✅ 4.11.3+ |
React Native | ✅ 7.2.0+ |
Flutter | ✅ 0.13.7+ |
Flutter (rive_native) | ✅ >= 0.0.1-dev.6 |
Apple | ✅ 5.13.2+ |
Android | ✅ 9.4.2+ |
C++ | ✅ Supported |
Unity | ✅ 0.1.174+ |
Unreal | ✅ Supported |
Randomization
Randomization
Enables randomizing transitions between animations and customizing the probability.
Runtime | Version |
---|---|
Web (@rive-app/canvas and @rive-app/webgl ) | ✅ 2.15.6+ |
React | ✅ 4.9.5+ |
React Native | ✅ 7.0.3+ |
Flutter | ✅ 0.13.4+ |
Flutter (rive_native) | ✅ >= 0.0.1-dev.6 |
Apple | ✅ 5.11.5+ |
Android | ✅ 9.3.5+ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Unreal | ✅ Supported |
Audio
Audio
See Rive Events and Audio Events.
Runtime | Version |
---|---|
Web (@rive-app/canvas and @rive-app/webgl ) | ✅ 2.15.6+ |
React | ✅ 4.9.5+ |
React Native | ✅ 7.0.3+ |
Flutter | ✅ 0.13.4+ |
Flutter (rive_native) | ✅ >= 0.0.1-dev.6 |
Apple | ✅ 5.11.5+ |
Android | ✅ 9.3.5+ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Unreal | ✅ Supported |
Nested Inputs and Nested Events
Nested Inputs and Nested Events
See Nested Artboards.
Runtime | Version |
---|---|
Web (@rive-app/canvas and @rive-app/webgl ) | ✅ 2.7.0+ |
React | ✅ 4.5.0+ |
React Native | ✅ 6.2.0+ |
Flutter | ✅ 0.12.3+ |
Flutter (rive_native) | ✅ >= 0.0.1-dev.6 |
Apple | ✅ 5.6.0+ |
Android | ✅ 8.7.0+ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Out-of-band Assets
Out-of-band Assets
See Loading Assets.
Runtime | Version |
---|---|
Web (@rive-app/canvas and @rive-app/webgl ) | ✅ 2.7.0+ |
React | ✅ 4.5.0+ |
React Native | ✅ 8.4.0+ |
Flutter | ✅ 0.12.0+ |
Flutter (rive_native) | ✅ >= 0.0.1-dev.6 |
Apple | ✅ 5.7.0+ |
Android | ✅ 8.6.1+ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Unreal | ✅ 0.1.14+ |
Events
Events
See Rive Events.
Runtime | Version |
---|---|
Web (@rive-app/canvas and @rive-app/webgl ) | ✅ 2.4.3+ |
React | ✅ 4.3.3+ |
React Native | ✅ 6.1.0+ |
Flutter | ✅ 0.11.17+ |
Flutter (rive_native) | ✅ >= 0.0.1-dev.6 |
Apple | ✅ 5.3.1+ |
Android | ✅ 8.4.0+ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Unreal | ✅ Supported |
Text
Text
See Text.
Runtime | Version |
---|---|
Web (@rive-app/canvas and @rive-app/webgl ) | ✅ 2.1.3+ |
React | ✅ 4.1.3+ |
React Native | ✅ 6.0.3+ |
Flutter | ✅ 0.11.14+ |
Flutter (rive_native) | ✅ >= 0.0.1-dev.6 |
Apple | ✅ 5.1.5+ |
Android | ✅ 8.1.3+ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Unreal | ✅ 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
Follow Path
Runtime | Version |
---|---|
Web (@rive-app/canvas and @rive-app/webgl ) | ✅ 1.2.4+ |
React | ✅ 3.0.55+ |
React Native | ✅ 5.0.0+ |
Flutter | ✅ 0.11.6+ |
Flutter (rive_native) | ✅ >= 0.0.1-dev.6 |
Apple | ✅ 4.0.5+ |
Android | ✅ 6.0.1+ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Unreal | ✅ Supported |
Interpolation on States
Interpolation on States
Runtime | Version |
---|---|
Web (@rive-app/canvas and @rive-app/webgl ) | ✅ 1.2.1+ |
React | ✅ 3.0.54+ |
React Native | ✅ 4.1.2+ |
Flutter | ✅ 0.11.4+ |
Flutter (rive_native) | ✅ >= 0.0.1-dev.6 |
Apple | ✅ 4.0.4+ |
Android | ✅ 5.1.5+ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Unreal | ✅ Supported |
Joysticks
Joysticks
Runtime | Version |
---|---|
Web (@rive-app/canvas and @rive-app/webgl ) | ✅ 1.1.9+ |
React | ✅ 3.0.49+ |
React Native | ✅ 4.1.0+ |
Flutter | ✅ 0.11.1+ |
Flutter (rive_native) | ✅ >= 0.0.1-dev.6 |
Apple | ✅ 4.0.1+ |
Android | ✅ 5.0.0+ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Unreal | ✅ Supported |
Solos
Solos
Runtime | Version |
---|---|
Web (@rive-app/canvas and @rive-app/webgl ) | ✅ 1.1.2+ |
React | ✅ 3.0.42+ |
React Native | ✅ 4.0.4+ |
Flutter | ✅ 0.10.4+ |
Flutter (rive_native) | ✅ >= 0.0.1-dev.6 |
Apple | ✅ 3.1.9+ |
Android | ✅ 4.4.0+ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Unreal | ✅ Supported |
Speed on States
Speed on States
Runtime | Version |
---|---|
Web (@rive-app/canvas ) | ✅ 1.0.102+ |
Web (@rive-app/webgl ) | ✅ 1.0.98+ |
React | ✅ 3.0.38+ |
React Native | ✅ 4.0.1+ |
Flutter | ✅ 0.10.3+ |
Flutter (rive_native) | ✅ >= 0.0.1-dev.6 |
Apple | ✅ 3.1.7+ |
Android | ✅ 4.2.7+ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Unreal | ✅ Supported |
Graph Editor
Graph Editor
Runtime | Version |
---|---|
Web (@rive-app/canvas ) | ✅ 1.0.97+ |
Web (@rive-app/webgl ) | ✅ 1.0.93+ |
React | ✅ 3.0.34+ |
React Native | ✅ 4.0.1+ |
Flutter | ✅ 0.10.0+ |
Flutter (rive_native) | ✅ >= 0.0.1-dev.6 |
Apple | ✅ 3.1.3+ |
Android | ✅ 4.2.2+ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Unreal | ✅ Supported |
Listeners
Listeners
Runtime | Version |
---|---|
Web (@rive-app/canvas ) | ✅ 1.0.65+ |
Web (@rive-app/webgl ) | ✅ 1.0.62+ |
React | ✅ 3.0.6+ |
React Native | ✅ 3.0.38+ |
Flutter | ✅ 0.9.0+ |
Flutter (rive_native) | ✅ >= 0.0.1-dev.6 |
Apple | ✅ 2.0.21+ |
Android | ✅ 3.0.8+ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Unreal | ✅ Supported |
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.
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
Mesh Deformation
Mesh Deformation
Runtime | Version |
---|---|
Web (@rive-app/canvas ) | ✅ 1.0.47+ |
Web (@rive-app/webgl ) | ✅ 1.0.44+ |
React | ✅ 3.0.1+ |
React Native | ✅ 2.1.37+ |
Flutter | ✅ 0.8.4+ |
Flutter (rive_native) | ✅ >= 0.0.1-dev.6 |
Apple | ✅ 1.0.18+ |
Android | ✅ 2.0.24+ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Unreal | ✅ 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- Regarding 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
Caching a Rive File
Caching a Rive File
Runtime | Version |
---|---|
Web | ✅ Supported |
React | ✅ Supported |
React Native | Not yet supported |
Flutter | ✅ Supported |
Flutter (rive_native) | ✅ Supported |
Apple | ✅ Supported |
Android | ✅ Supported |
C++ | ✅ Supported |
Unity | ✅ Supported |
Unreal | Not yet supported |
Raster Assets
Raster Assets
Runtime | Version |
---|---|
Web (@rive-app/canvas and @rive-app/webgl ) | ✅ 1.0.2+ |
React | ✅ 0.0.28+ |
React Native | ✅ 2.1.36+ |
Flutter | ✅ 0.8.1+ |
Flutter (rive_native) | ✅ >= 0.0.1-dev.6 |
Apple | ✅ 1.0.1+ |
Android | ✅ 2.0.5+ |
C++ | ✅ Supported |
Unity | ✅ Supported |
Unreal | ✅ 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