Open CoopCodes opened 2 months ago
UPDATE: I tried a similar example with a smaller state machine in a different rive file, and it worked, seems to have to do with the state machine size...
Not working example State machine:
Smaller State machine:
Thanks!
Hi Coop. Rather than trying to call the same Any State
multiple times at once, I'd recommend using state machine layers: https://rive.app/community/doc/layers/docQI8guiwME. That way you can control the different areas separately.
Description
When using Rive with React Native, setting multiple input states sequentially does not work as expected. Only the last input change is reflected in the animation, ignoring previous input changes.
Provide a Repro
Here's a minimal code snippet that reproduces the issue:
In this example, only the "Many Eyes" input change is reflected in the animation, while the "Many Teeth Mouth" input is ignored.
A workaround using setTimeout and Promises works:
Expected behavior
When setting multiple input states sequentially, all input changes should be reflected in the animation, not just the last one.
Screenshots
N/A
Device & Versions (please complete the following information)
Additional context
This is functionality for part of my app where you can customize your character, using several different body parts. The state machine has an input for each bodypart, the input is of type "trigger". I have been able to work around this will a mess of Promises and setTimeouts, ensuring none run at the same time. But as my codebase grows I will not be able to keep this up.