DEPRECATION NOTICE: This entire page documents the legacy Inputs system.
For new projects: Use Data Binding instead.
For existing projects: Plan to migrate from Inputs to Data Binding as soon
as possible. This content is provided for legacy support only.
Controlling state machine inputs
Once the Rive file is loaded and instantiated, the state machine can be queried for inputs, and these input values can be set, and in the case of triggers, fired, all programmatically.Inputs can also be set on components at runtime, see Nested
Inputs below.
- Web
- React
- React Native
- Flutter
- Apple
- Android
Examples
Inputs
The web runtime provides anonLoad callback that’s run when the Rive file is loaded and ready for use. We use this callback to ensure that the state machine is instantiated before we query for inputs.stateMachineInputs function on the Rive object to retrieve the inputs. Each input will have a name and type. There are three types:StateMachineInputType.Triggerwhich has afire()functionStateMachineInputType.Numberwhich has avaluenumber property where you canget/setthe valueStateMachineInputType.Booleanwhich has avalueboolean property where you canget/setthe value
Nested Inputs
⚠️ DEPRECATED FEATURE: Nested Inputs are part of the legacy Inputs system.
Use Data Binding instead for controlling
component properties at runtime.
Example
- Use the artboard’s unique hierarchy name, not the artboard’s name.
- Do not include the name of the main artboard. In the example above, the path is
Volume Molecule, notMenu/Volume Molecule. - Ensure the components are marked as exported in the editor to access them at runtime:
Volume ComponentFX Component
Once you go more than one component deep the path will be a
/ separated
string of the unique hierarchy names.FX Component artboard, the path will be Volume Molecule/FX Component
Do not use
/ in the name for your components, as that will break the search
functionality at runtime.- Web
- React
- React Native
- Flutter
- Apple
- Android
- Unity
To set the Volume input for the above example:All options:
setNumberStateAtPath(inputName: string, value: number, path: string)setBooleanStateAtPath(inputName: string, value: boolean, path: string)fireStateAtPath(inputName: string, path: string)