State Machines
Interact with the Rive State Machine in Unity.
For more information on Rive State Machines see the respective runtime and editor documentation.
State Machines
(Runtime) Rive’s state machines provide a way to combine a set of animations and manage the transition between them through a series of inputs that can be programmatically controlled.
State Machines
(Editor) State Machines are a visual way to connect animations together and define the logic that drives the transitions.
Overview
A StateMachine contains Inputs and Events and advances (plays) an animation.
A Rive Widget automatically loads and advances the state machine from your artboard configuration settings. Here’s how you can access the loaded state machine in your scripts:**
Accessing Inputs
There are three input types, each extends SMIInput
(State Machine Input):
SMIBool
contains a.Value
property, a boolean that can be set to true or false.SMITrigger
is a boolean that is set to true for one frame by calling the.Fire()
method.SMINumber
contains a.Value
property, a float that can be set to any value.
State machine inputs can be accessed in a number of different ways.
Access by name
Retrieve a state machine input by name and type.
Trigger:
Bool:
Number:
Access by index
Get the input count (length) and retrieve by index:
Access all inputs
Retrieve a list of all SMIInputs
:
Accessing Nested Inputs
For more information about accessing inputs in nested artboards, check out this example.
Additional Resources
For a complete example see the getting-started project in the examples repository and open the StateMachineInputScene scene. Enter Play mode and in the inspector on the Main Camera component, you can interact with all available state machine inputs for the provided animation.
Was this page helpful?