Support
6mo ago

How to get support

Please post your general support questions.

  1. Explain in detail what you need help with.

  2. Tell us what browser/desktop app/OS/runtime you're using.

  3. Include a screenshot, video, code snippet, or a .rev backup file.

For help with your account or billing questions, please contact us here.

0 replies
D
19d ago

What should Rive's minimum Swift version policy be?

Currently, Rive's minimum supported Swift version is 5.3. Based on Apple's current submission rules, iOS and iPadOS apps must be submitted using Xcode 15 with the iOS 17 SDK (seen here, under Build with Xcode 15: https://developer.apple.com/ios/submit/):

Please note that as of April 2024 all iOS and iPadOS apps submitted to the App Store must be built with a minimum of Xcode 15 and the iOS 17 SDK.

Xcode 15.0 includes the Swift 5.9 toolchain, and current releases include the Swift 5.10 toolchain.

With the current Apple rule, we are discussing bumping the minimum Swift version to 5.9, which is utilized and supported by Xcode 15.0+.

Bumping the minimum Swift version means that Rive can continue receiving and building using Swift's latest API improvements and some of the newest language additions, such as Swift concurrency.

Notably, while the minimum supported Swift version would be bumped, we are not actively discussing dropping support for any OSes; Rive would continue to support the minimums of iOS 14 and macOS 13.1.

We're reaching out to the community to see if you foresee any issues in your active development processes that this change could introduce.

0 replies
D
13h ago

Nested inputs in shared link

I've noticed that when sharing a Rive artboard as a weblink, only the inputs from the parent artboard appear. The nested inputs don't show up. Is there a way to make them appear?

0 replies
3d ago

Mismatch between value passed in from React received as input value

I have a 1d blend with 2 timelines that blend based on a value (`parallax`) between 1 - 100. When I run it in Rive and change the value manually, everything works as expected - A value of 0 shows the parallaxLeft timeline, a value of 100 shows the parallaxRight timeline. Any value in between blends as expected.

When I pass the value in from React, a value of around 80+ is treated as the same as a value of 100 in Rive, meaning it only shows the parallaxRight timeline.

Notice in the first video (in Rive) that when I update the value between 90 - 100, there's a change in the parallax.

Notice in the second video (in browser) that when the value is between 90 - 100, nothing moves. I'm also updated the text run with the same value to show that the value is correct.

  • Demo: https://658df898ec129ee3d5a882ae-fodkxtsdkm.chromatic.com/iframe.html?args=&id=animations-magicalley--default&viewMode=story

  • Code: (edit, wrong link) https://github.com/lancesnider/lance-snider/pull/22/commits/dd1882183989922c56d89945bd853d5bfd10dfa7#diff-48b07bac157e9a359c0b6bb25605c0045b35d2a2bfd4e6b92336d95b8a8b2bac

What I've tried

4 replies
m
4d ago

How to access nested artboard inputs.

Hello, I've been trying to develop a tic tac toe using Rive. Here's what I have.

https://codesandbox.io/p/sandbox/exciting-frost-v67k7m

Essentially I have a "Tile" artboard that have 2 inputs and one Listener, respectively, Player and Active?. In addition to that I have another artboard called NestedTileGrid which is composed by 9 "Tile" artboards. I want to load the "NestedTileGrid" and from there I would like to be able to access the inputs inside the "Tile"s. I thought I would get access to the inputs by using:

const inputs = r.stateMachineInputs("NestedTileGrid");

but I get an array with 0 length.

Doing some more digging into the docs I've found the following link, but, trying to use those functions - setNumberStateAtPath, setBooleanStateAtPath - within the rive instance I get "setNumberStateAtPath is not a function" on the console.

https://rive.app/community/doc/state-machines/docxeznG7iiK#nested-inputs

I've tried using the following versions and I get the same result.

https://unpkg.com/@rive-app/canvas@1.0.102

https://unpkg.com/@rive-app/canvas@2.9.1

So my question is: How can I access to the inputs within the Tiles inside the NestedTileGrid?

0 replies
D
6d ago

Joysticks in State Machine

Hi! Is it possible to use joysticks in the State Machine? Like for example, to make a cursor tracking animation.

4 replies
e
7d ago

Joysticks and Events

Maybe this is a feature request, but want to check here first.

I have a control panel with various controls and a "heart" monitor. My hope was that I could affect the heart monitor state machine (4 different timelines for 4 different speeds/colors selected via a number input) with the controls.

Each of the controls is a nested artboard controlled by a joystick (except the switches at the bottom) - sort of similar to this setup (https://rive.app/community/files/10884-20860-dial/). My original hope was to fire events at different states of the control that update a number variable in the code (a little more complex than that but that's the gist of the idea). Then use that variable to update the number input that controls the monitor. It seems like this is not possible? I tried firing events in the timelines for the controls, but that doesn't seem to be how joysticks controlled timelines work. I also tried creating hit zones that would fire events, but with my current setup, its possible to set a control to off/0 with small swipes in the same spot vs actually swiping through all the hit zones.

Am I missing something obvious or do I need to rethink my whole strategy?

6 replies
L
7d ago

Is there a way to "stack" animations like this?

I am trying to make a confetti animation where it keeps popping when triggered. I've been stuck on this part for hours now; is there a way to make the current playing animation finish whenever it triggers a new animation?

I am using a nested artboard for the burst animations, and the simple animation actually works well. But the problem is it only plays once, it should be able to play in every trigger.


I tried to use remap animation but the problem is it doesn't play the whole animation and pauses to play the new one.

Please help !

1 reply
H
7d ago

Page Goes Blank/White Momentarily When Scrolling Fast with Rive Animations

Description:
I've integrated Rive animations into my Nextjs project using @rive-app/react-canvas. The animations load and function correctly, but I've encountered an issue where the page goes blank or white for a moment when scrolling quickly. This problem is intermittent and seems to occur on certain OS and browser combinations. Also this problem starts happening when multiple animations are present on a single page and appears once they are loaded.

Steps to Reproduce:

  1. Integrate Rive animations using the provided AnimationComponent in a React project.

  2. Deploy the project and access it on an iPhone 13 using Chrome or Safari, or on an iPhone 11 using Safari.

  3. Scroll quickly up and down the page.

Expected Behavior:
The page should scroll smoothly without any interruptions or blank/white screens.

Actual Behavior:
The page intermittently goes blank/white for a moment when scrolling fast. The animations themselves load and function fine.

Affected OS and Browsers:

  1. iPhone 13: Occurs on both Chrome and Safari.

  2. iPhone 11: Occurs only on Safari ( chrome is fine).

  3. Macbook air ( macOS Ventura 13.4 ) : Occurs on safari ( on chrome its fine)

library version:
@rive-app/react-canvas: 4.12.1,
next: 13.1.2

My code:
Parent Component:
{section.animation && (



)}

Animation Component:
import React, { useState } from "react";
import { useStateMachineInput, useRive } from "@rive-app/react-canvas";
import Spinner from "./Spinner";

interface AnimationComponentProps {
src: string;
}

const AnimationComponent: React.FC = ({ src }) => {
const [isAnimationLoaded, setIsAnimationLoaded] = useState(false);

const { RiveComponent, rive } = useRive({
src: src,
stateMachines: "State Machine 1",
autoplay: true,
onLoad: () => {
setIsAnimationLoaded(true);
},
});

return (
<>
{!isAnimationLoaded && (



)}
<div
className="md:flex-1 md:h-96 h-64 border rounded shadow mx-auto my-20"
style={{
display: isAnimationLoaded ? "block" : "none",
}} // Hide animation until loaded
>


</>
);
};

export default AnimationComponent;

0 replies
W
9d ago

Rive wasm selfhost

Hello,

i would like to selfhost the wasm file but i am not able to alter the rive.js on my server file because i am too much of a n00b. It always does a request to https://unpkg.com.

many thanks in advance


1 reply
c
9d ago

Export animation for web without using Lottie library

Hey there, I have an animation done in AE. I would like to export it for web but without using Lottie library. Just curious is it possible to do so with Rive? Thanks!

1 reply
e
9d ago

Importing Lottie Files / Event Listeners

Hi! Excited about playing around with Rive and I have a two part noob question.

1. When I import a Lottie file into an artboard I see the lottie file placed both on the main Artboard and as a separate self Artboard? I'm not sure how to explain it but is this on purpose? I couldn't find anything on this behavior in the docs.


2. I'm trying to create my first state machine with a simple hover state that switches between a single frame static duplicate of the lottie asset and a second fully looped animation on hover. the problem is that when i click on the lottie asset and create an event listener, i don't see any pointer event listener options. What am i missing?
I tried adding an event to the artboard but i didn't make much progress.




2 replies
B
10d ago

State machine exceeded max iterations

When running on IOS (Unity), I get the following message spamming in Xcode:

"state machine exceeded max iterations"

Any idea what to do about this?

2 replies
T
10d ago

How to control Rive files via Unreal Sequencer.

Rive files have both inputs and triggers that can be called via Blueprints, which in turn can be called by triggers in Sequencer. The Rive and Unreal terminology collides a bit here, so I’ll try to be as clear as possible.

  1. In sequencer, add your RiveActor as a track.

  2. Move the timeline head to the location where you want to trigger an input or Rive trigger.

  3. Add a key.

  4. Right-click the key, select Properties and select “Create New Endpoint”. This will create a Blueprint node that will trigger whatever Blueprint action you like, including Rive actions.

  5. Open the Blueprint (double-click on Event) and add a Rive Set Bool Value node (be sure to uncheck “Context Sensitive” in the search box.

  6. The Rive Set Value nodes require an artboard as an input which can be derived from the Sequencer Event node. Add a Rive Get Artboard node and drag the target from the Sequencer Event node. A conversion node will be automatically added.

  7. Ensure the Blueprint’s “Call In Editor” box is checked.

    In my example video below, I have a Rive file that has a Boolean input called “Processing” which kicks off a looping animation. I’ve used both a widget and material in the scene to demonstrate both showing the animation.

    Keep in mind that Rive’s Unreal support is in technical preview and may change in the future.

0 replies
T
11d ago

Rive Security

My client is in financial services and is stringent about security.

What kind of database etc security does Rive use? Is there any documentation I can share?

I only plan to embed Rive. But my client needs reassurance.

Thanks

Tom

1 reply
12d ago

Payment options

Hi! I was wondering if Rive has plans for adding other payment options for Rive other than credit card? I live in a country where credit cards are rarely used and I'm not really interested in getting one. But I will have to get one considering I have to use Rive Pro for the coming year to do some work with it. Here in the Netherlands we use iDeal a lot. But PayPal and such would be helpful too.

What are the plans for this and will this be added anytime within the next month? I really need an answer so I know if I have to look for another way to pay for Rive on my end.

Thanks!

4 replies