"Rive animation on Flutter not working and is static" is one of the top Rive questions on Stack Overflow. Work through these checks in order.
1. The wrong thing is playing
Your code may load the default artboard or a plain timeline instead of the state machine. Select the state machine by name (StateMachineSelector.byName in Flutter, the stateMachines option on the web) and make sure the name matches exactly, including case.
2. The state machine is waiting
Open the state machine in the Rive editor. If the entry state goes to an idle state that holds still until an input or view model property changes, the animation is working. It is just waiting for your code.
3. The widget has no size
In Flutter, a RiveWidget inside an unbounded parent (such as a Column without constraints) can end up with zero size. Wrap it in a SizedBox or Expanded. On the web, the canvas needs a CSS width and height.
4. Renderer issues
Rive's README notes that Impeller is the default renderer on iOS and can show visual differences. Run flutter run --no-enable-impeller; if that fixes it, it may be an Impeller bug worth reporting. You can also switch between Factory.rive and Factory.flutter.
5. Version mismatch
Files made with new editor features may not play on an old runtime. Upgrade the rive package (0.14.11 on pub.dev in November 2026), run flutter clean and flutter pub get.
If your animation needs to be driven by app state in many places, check our guide to Rive state machines in Flutter.