Rive 101 Tutorials
An enhanced learning companion for the official YouTube tutorials. 90 videos, 9 modules.
Getting Started
- 1.1βFile BrowserOutdated+3
File browser: create files/folders, search, sort, free vs paid plans.
- 1.2βInterface OverviewOutdated+3
Design & Animate modes, Stage, Inspector, Hierarchy, Assets, Toolbar.
- 1.3βSelectionOutdated+1
Selection tool: marquee, Shift add/remove, double-click hierarchy, Command pass-through, Gizmo.
- 1.4βSnappingPartial+1
Auto-align objects to center/edges/corners, temporarily disable.
- 1.5βArtboardsOutdated+2
Create artboards, resize, set origin, background fill, multi-artboard management.
Design Tools
- 2.1βPen Tool
Create vertices, BΓ©zier curves, edit shapes, vertex types (mirrored/detached/asymmetric).
- 2.2βProcedural ShapesPartial+1
Rectangle, ellipse, triangle, polygon, star creation and editing.
- 2.3βFills & StrokesPartial+3
Color, opacity, radial/linear gradients, multiple fills/strokes, copy-paste styles.
- 2.4βShapes & Paths
Shape layers control appearance, Path layers define form. One Shape can hold multiple Paths.
- 2.5βWinding & Fill Rules
Path direction affects fills. Non-zero fill rule. Create cutout effects with winding.
- 2.6βHierarchy
Hierarchy panel shows all objects, controls draw order and parent-child relationships.
- 2.7βOrigin & Freeze
Origin is the transform anchor. Freeze mode moves origin without affecting existing animation.
- 2.8βClipping
Mask elements with shapes for 3D effects and creative designs.
- 2.9βRulers & Guides
Activate rulers, create guides, snap to guides, lock/clear guides.
- 2.10βAlign Tools
Edge align, center align, distribute. Multi-object and artboard alignment.
- 2.11βAssets PanelPartial+1
Import files, sort options, switch between Assets and Hierarchy panels.
- 2.12βImport Vectors
Import SVGs via Assets panel, edit colors/vertices, clean up excess points.
- 2.13βImport Rasters
Import PNG/PSD/JPEG, adjust compression. PSD supports multi-layer import.
- 2.14βImport Photoshop Files
Import PSD files with layer structure preserved for further editing and animation in Rive.
Animation
- 3.1βTimeline
Timeline operations: play/pause, playhead, loop types, duration and speed adjustments.
- 3.2βKeys
Set keys via inspector or stage, copy-paste keys, timeline shortcuts.
- 3.3βMotion Path
Visualize movement trajectory; dots represent frame spacing.
- 3.4βInterpolationPartial+1
Linear/hold/cubic interpolation, curve handles for ease in/out.
- 3.5βWork Area
Define playback range, offset keys for natural loops.
- 3.6βGraph EditorPartial+1
Visualize interpolation curves and keys, directly manipulate cubic handles.
- 3.7βExercise: Pendulum
Build a pendulum from scratch: shapes, grouping, origin, rotation keys, interpolation.
- 3.8βExercise: Bouncing Ball
A full bouncing ball exercise covering motion, timing, and basic squash and stretch.
- 3.9βAnimating VerticesPartial+1
Animate vertex position, rotation, handles. Batch-key all vertices.
- 3.10βSolosOutdated+1
Solos toggle child visibility, great for frame-by-frame animation.
- 3.11βDraw Order
Top of hierarchy draws in front. Custom draw rules for animated ordering.
- 3.12βExport OptionsPartial+3
Export .riv/.rev, share links, video/image/GIF export, batch export.
- 3.13βQuantize
Limit FPS for a traditional hand-drawn animation feel.
- 3.14βWhat Position Values Mean
A deeper explanation of what Position values really mean in animation and hierarchy contexts.
Text
- 4.1βText ToolPartial+1
Create text boxes, position/scale/rotation/size, alignment, overflow behavior.
- 4.2βText RunsPartial+1
Split text into Runs for different styles. Change text values at runtime.
- 4.3βText Styles
Font, size, line height, color, multiple fills/strokes, variable font properties.
- 4.4βText Modifiers
Add modifiers to Runs: opacity, position, rotation, scale.
Rigging & Constraints
- 5.1βRigging Overview
Intro to three rigging tools: Bones, Joysticks, Constraints.
- 5.2βBones Overview
Bone tool: root & child bones, joint controls, hierarchy relationships.
- 5.3βHierarchical Bones
Attach artwork to bones. Transforms inherited. More performant than binding.
- 5.4βBinding & Weighting
Bind bones to path layers. Weights determine each bone's influence on vertices.
- 5.5βJoysticksPartial+1
Pan between timelines for control, support inversion and multi-joystick.
- 5.6βConstraints Overview
Constraints allow one object's properties to be driven by another.
- 5.7βTranslation Constraint
Link position properties between objects with range, strength, and animation.
- 5.8βScale Constraint
Follow scale properties between objects.
- 5.9βRotation Constraint
Follow rotation, adjust strength for partial following.
- 5.10βTransform Constraint
General constraint combining translation, rotation, and scale.
- 5.11βDistance Constraint
Three modes: closer (max distance), further (min distance), exact (fixed distance).
- 5.12βIK Constraint
Inverse Kinematics: control bone chain rotation by moving a target point.
- 5.13βFollow Path
Objects follow a path with distance percent and orientation control.
- 5.14βNegative Strength
Set constraint strength to -100 for inverse motion.
State Machine
- 6.1βState Machine Overview
State machines add interactivity via states, inputs, conditions, and transitions.
- 6.2βSingle Animation States
Playback settings (one-shot/loop/ping-pong), create timelines, drag to add states.
- 6.3βLayersPartial+1
SM layers play multiple animations simultaneously with independent states/transitions.
- 6.4βLayer Order
Right-side layers have priority when multiple layers animate the same property.
- 6.5βTransitionsPartial+2
Transitions control state switching, need conditions/inputs to prevent infinite loops.
- 6.6βInputs
Three input types: Number, Boolean, Trigger. Controllable via code.
- 6.7βConditionsPartial+1
Use inputs as transition conditions: boolean true/false, number operators, triggers.
- 6.8βAnd/Or Transitions
Multiple conditions with And (all met) or Or (any met) logic.
- 6.9βInitial Input Values
Initial input values determine which state the SM enters on start.
- 6.10βListeners
Listeners detect interactions like hover and click, making them available to state machine logic.
- 6.11βControlling Inputs with Listeners
Listeners detect mouse interactions and change inputs to drive state transitions.
- 6.12βListener Align Target
Use Align Target to make objects follow cursor position.
- 6.13βAny State
Any State enables transitions from any state, avoiding complex transition webs.
- 6.14βExit State
Exit State deactivates its layer, useful for performance optimization.
- 6.15βCommon Issues
Common beginner mistake: missing keys cause unexpected state transitions.
- 6.16βExercise: Simple Button
Build interactive button: hover color change + click bounce effect.
- 6.17βAudio Events
Add sound events to animations and state machines so audio can trigger at the right moments.
Layouts
- 7.1βLayouts Intro
Main use cases and scenarios for layouts.
- 7.2βRows & Columns
Organize layout elements with rows and columns.
- 7.3βDynamic Buttons
Create dynamically resizing button components.
- 7.4βFitting Elements
Learn how elements can automatically fit their size and position to available space.
- 7.5βReflow with Dynamic Components
Let layouts reflow automatically when component sizes change while preserving structure.
- 7.6βLayout Direction
Control layout direction and flow to better suit different content and interface needs.
Data Binding
- 8.1βIntroduction to Data Binding
Learn the core ideas behind Rive data binding and how it connects design, state, and runtime data.
- 8.2βView Model Properties
Define and organize view model properties to provide bindable data for UI and animation.
- 8.3βConverters
Use converters to map between different data types and presentation formats.
- 8.4βBind Direction
Understand one-way vs two-way binding and when each bind direction makes sense.
- 8.5βEnums
Use enum values to represent discrete states and keep binding logic clearer.
- 8.6βProperty Groups
Group related properties together to make larger data models easier to manage.
- 8.7βControl Rive Files in Code
Control Rive files and data bindings from code to bridge design and engineering.
- 8.8βDetect Property Changes in Editor
Observe view model property changes in the Rive editor for debugging and validation.
- 8.9βControl Properties in Javascript
Read and write view model properties from Javascript to connect app state with Rive.
- 8.10βDetect Property Changes in Code
Listen for property changes in code to drive reactive updates and app logic.
- 8.11βLists
Use list data to generate and drive repeated content with more flexible bindings.
- 8.12βComponents
Use components together with data binding to build more reusable interactive units.
- 8.13βList Index
Use list index values to access and control specific items in repeated content.
Libraries
- 9.1βIntroduction to Libraries
Learn how Libraries let you reuse design systems and assets across files and projects.
- 9.2βData Binding in Libraries
Use data binding inside Libraries so reusable components stay dynamic and configurable.
- 9.3βDetach
Detach instances from library assets so they can be edited independently while keeping their content.