Skip to main content
The Rive Unity package includes components to help you integrate Rive into your project quickly and easily. These components are a high-level abstraction over the low-level API, handling rendering and pointer input, and providing a unified way of working with Rive across render pipelines. We recommend working with these components unless you have specific rendering needs or need more control over where Rive fits into your graphics pipeline, in which case you can use the low-level API.

Rive Panel

The Rive Panel is the foundation for displaying Rive graphics in Unity. It acts as a viewport that manages and renders a collection of Rive widgets to a render texture, with the panel’s dimensions determining the render target’s size. The panel renders multiple widgets to a single render texture, which means you draw different Rive files and artboards to one texture by placing multiple Rive Widgets under the same panel. This is more performant than using multiple panels as each panel renders to a separate texture by default.

Setup

Create an instance: Right-click in the scene hierarchy → Rive → Rive Panel
A Rive Panel simply handles drawing the graphics to a texture. You’ll need to use the Rive Panel with a Panel Renderer to display the texture.
Configuration Properties Public Methods

Rive Widget

The Rive Widget is the primary component for displaying Rive artboards in Unity. It handles loading Rive files either from assets during edit time or from runtime-loaded files (useful when loading Rive content from a server or Addressables). The component manages artboard and state machine setup, automatically configuring everything needed to display your graphic.

Setup

Create an instance: Right-click in the scene hierarchy → Rive → Widgets → RiveWidget
Rive Widgets must be placed under a RivePanel to be displayed.
Configuration Properties Events Public Methods
If you use any Load methods that accept a File instance, you’re responsible for disposing of the File instance when you no longer need it. This is not the case when loading from an Asset as the Rive Widget manages the lifecycle of the underlying file (loading and disposing).

Procedural Rive Widget

The Procedural Rive Widget enables runtime generation of graphics using the Rive’s Renderer. This component lets you create graphics programmatically using Rive’s drawing primitives (paths and paints, etc.). See this example for a practical implementation of a procedural drawing.

Setup

Create an instance: Right-click in the scene hierarchy → Rive → Widgets → Procedural Rive Widget
Procedural Rive Widgets must be placed under a RivePanel to be displayed.
Configuration Properties Events Public Methods

Panel Renderers

Panel renderers connect RivePanel’s render texture to Unity’s display systems. By separating rendering logic from display concerns, we can support different rendering contexts (UI, world space, etc.) while keeping the core Rive functionality consistent. Each renderer type specializes in a specific Unity rendering pathway, handling details like input systems and render order automatically.

Rive Canvas Renderer

The Rive Canvas Renderer displays Rive content within Unity’s UI system (uGUI). It automatically configures the necessary Canvas components and handles UI-specific concerns like proper render order and raycasting.
The Rive Canvas Renderer controls the size of the Rive Panel based on the uGUI Canvas it is being displayed under.
You can also create a Rive Panel that has been automatically configured to use this component by right-clicking in the scene hierarchy and navigating to the Rive > Rive Panel (Canvas)

Requirements

  • Requires an EventSystem in the scene for pointer input
  • Requires a GraphicRaycaster on the Canvas for pointer input
  • The Rive Panel must be under a uGUI canvas
  • This component must be placed on the same game object as the Rive Panel

Configuration

Properties

Rive Texture Renderer

Rive Texture Renderer projects Rive content onto materials in your 3D scene. It bridges the gap between Rive’s 2D rendering system and Unity’s 3D material system, making it easy to apply Rive content to any mesh in your scene.

Requirements

  • Must be placed on a GameObject with a MeshRenderer on it. e.g. a Cube, Plane, Quad, or Capsule.
  • Requires an EventSystem in the scene for pointer input
  • Requires a PhysicsRaycaster on the camera for pointer input in 3D space
  • Target GameObject needs a MeshCollider for pointer input

Configuration

Properties

Public Methods

Render Target Strategies

Render Target Strategies control how Rive Panels render to textures. They determine whether panels get individual textures or share a texture atlas, and handle details like texture creation, panel arrangement, and memory management.

Simple Render Target Strategy

The Simple Render Target Strategy is the default rendering approach for Rive Panels, creating a dedicated render texture for each panel. It is automatically added to a Rive Panel if no custom strategy is provided. This one-to-one mapping between panels and textures provides straightforward memory management.
The component must be attached to the same GameObject as its RivePanel
Configuration Properties

Atlas Render Target Strategy

The Atlas Render Target Strategy enables multiple panels to share a single texture atlas, optimizing memory usage and draw calls. By default, it uses a simple shelf-packing algorithm to efficiently arrange panels within the atlas, automatically growing the texture as needed while respecting maximum size constraints.

Setup

  1. Create an instance: Right-click in the scene hierarchy → Rive → Render Target Strategies → Atlas Render Target Strategy
  • Assign to panels: Drag the strategy into the Custom Render Target Strategy field on desired panels
  • (Optional) Configure atlas parameters like starting size and resolution limits

Notes

  • Panels sharing the same strategy instance share the same atlas texture
  • Create multiple strategy instances to group panels into different atlases
Configuration Properties Public Methods

Pooled Render Target Strategy

The Pooled Render Target Strategy optimizes memory usage by maintaining a pool of reusable render textures. Instead of creating a new texture for each panel or sharing a single atlas, this strategy draws panels to textures from a managed pool, recycling them as needed. This approach is particularly useful for scenes with dynamic UI elements that appear and disappear frequently. For example, in a game with popup menus or tooltips that show Rive graphics, the strategy can reuse textures as UI elements are shown and hidden, avoiding constant texture allocation and deallocation.

Configuration

Properties

Public Methods