Skip to main content
ExodeUI

EXODEUI DESKTOP

A little space for good ideas.

Choose your platform to get the official ExodeUI installer.

Looking for Intel Mac or other builds? Explore the web studio or check all download options.

Prefer the browser? Try for free in your browser →

Compare • Logic

Rive State Machine Alternative: Logic Compared

If you are looking for a Rive state machine alternative, the question is how much logic you want inside the animation file. Rive and ExodeUI both have visual state machines, and they extend them in different directions.

Updated October 2026 · We make ExodeUI

Direct Answer

Rive state machines use layers, inputs, listeners and conditions, with data binding to view models and Luau scripting for custom behaviour. ExodeUI has states, transitions, entry conditions and layers, plus logic nodes (maths, comparisons, sensors, springs), expressions, flow rules and API variables that fetch live data. Rive is stronger for scripted, character-style interaction. ExodeUI is aimed at UI logic: forms, multi-step flows and components that react to data.

Ready to try ExodeUI without installing anything?Try for free

Logic in Rive

A Rive state machine moves between animation states on layers, using inputs, conditions and listeners that respond to pointer events and property changes. Data binding connects elements to view models your code can update, and Luau scripting adds custom logic, including listener action scripts.

For version control, Rive's CLI can now keep a project as text (Rive Markup Language), and the editor keeps a revision history.

Logic in ExodeUI

ExodeUI state machines have states, transitions, entry conditions and layers. Beside them, logic nodes handle values, maths (add, subtract, multiply, divide), comparisons and boolean logic, sensors such as mouse position and scroll, and spring helpers. Expressions and variable binding can drive any property, and API variables can fetch data with polling.

  • Input types: boolean, number, string, trigger, number and string arrays, and API
  • Object interactions: click, hover and pointer events that play animations or set inputs
  • Flow rules for multi-step sequences and navigation between screens
  • The logic is stored in the open .exode JSON file, and the CLI can diff it

Rive vs ExodeUI: logic

Rive data from rive.app/docs, checked October 2026.

FeatureRiveExodeUI
State machinesLayers, inputs, conditions, listenersStates, transitions, entry conditions, layers
DataData binding with view models and listsVariables, expressions, API variables with polling
Custom codeLuau scriptingLogic nodes; JavaScript animation presets
Multi-screen flowsArtboards and nested componentsScreens with navigation triggers and flow rules
Source formatEditor file; text via the Rive CLIOpen .exode JSON

Frequently Asked Questions

What is a good alternative to Rive state machines?

For interactive UI, ExodeUI has state machines plus logic nodes, expressions and API data. For animations that switch between a few states, dotLottie state machines are a lighter option.

Does ExodeUI have state machines like Rive?

Yes: states, transitions, entry conditions and layers, driven by boolean, number, string and trigger inputs from your code.

Can Rive state machines use live data?

Yes, through data binding. Your code updates view model properties and the bound elements respond.

Can I review animation logic in a pull request?

With ExodeUI, the logic is in a JSON file you can commit and diff. With Rive, the CLI can keep projects as text files, which also works with version control.

Try for free

Related