# RiveError: Animation cache overflow: too many active animations in the same RiveArtboard

- **ID:** `flutter/rive-animation-cache-overflow`
- **Domain:** flutter
- **Category:** resource_error
- **Verification:** ai_generated
- **Fix Rate:** 76%

## Root Cause

The Rive animation runtime has a limit on the number of simultaneously playing animations per Artboard (default ~64), which is exceeded when many animations are started without stopping previous ones.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| Flutter 3.22 | active | — | — |
| Dart 3.4 | active | — | — |
| rive_common 0.4.0 | active | — | — |
| flare_flutter 3.0.0 | active | — | — |

## Workarounds

1. **Stop animations before playing new ones: `artboard.animations.forEach((a) => a.stop()); artboard.animationByName('newAnimation')?.play();`** (85% success)
   ```
   Stop animations before playing new ones: `artboard.animations.forEach((a) => a.stop()); artboard.animationByName('newAnimation')?.play();`
   ```
2. **Implement a pooling mechanism that reuses animation instances: maintain a list of active animations and remove completed ones using `animation.isActive` check.** (80% success)
   ```
   Implement a pooling mechanism that reuses animation instances: maintain a list of active animations and remove completed ones using `animation.isActive` check.
   ```
3. **Use `artboard.animations.clear()` to remove all animation states before loading a new set of animations in a scene transition.** (75% success)
   ```
   Use `artboard.animations.clear()` to remove all animation states before loading a new set of animations in a scene transition.
   ```

## Dead Ends

- **** — Modifying third-party library source is not maintainable and will be overwritten on package updates; also, increasing cache size may cause memory pressure. (85% fail)
- **** — The runtime does not automatically clean up old animations; each new `play()` call adds to the cache without removing previous instances. (90% fail)
- **** — Rive animations are independent; a single controller cannot manage multiple simultaneous animations with different timelines. (70% fail)
