Benimator
A sprite sheet animation plugin for bevy
Features
- A
SpriteSheetAnimationasset - Automatic update indices of a
TextureAtlasSprite - Animation modes:
once,repeatandping_pong - An animation is playing if, and only if, a
Playcomponent is present in the entity- Simply remove/insert the
Playcomponent to pause/resume an animation
- Simply remove/insert the
- The animation can be defined from an index-range, or an arbitrary list of indices
- Each frame may have a different duration
Usage
Here is the result:

(Asset by La Red Games - CC0)
For more details see the documentation
Installation
Add the dependency to your project
Cargo features
yamldeserialization from yaml asset files (also requiresunstable-load-from-file)rondeserialization from ron asset files (also requiresunstable-load-from-file)bevy-07all integrations with bevy 0.7
Unstable features
Any API behind one of theses feature flags is unstable, should not be considered complete nor part of the public API. Breaking changes to that API may happen in minor releases
unstable-load-from-fileLoad animation assets from yaml/ron files. It also requires eitherronoryaml(or both) features.
MSRV
The minimum supported rust version is currently: 1.60
It may be increased to a newer stable version in a minor release. (but only if needed)
It will be increased to the latest stable version in a major release. (even if not needed)
Bevy Version Compatibility
| bevy | benimator |
|---|---|
| 0.7 | 3 |
| 0.6 | 1, 2 |
| 0.5 | 0.1 - 0.3 |
Note: Only the latest published version of benimator is supported
Contribute / Contact
Discussions, issues and pull requests are welcome.
It is possible to directly discuss with me (Jomag#2675) via the bevy discord.
If you want to understand the "architecture" decisions made you may look at the doc/adr directory.
License
Licensed under either of
- The Unlicense (UNLICENSE or https://opensource.org/licenses/Unlicense)
- MIT License (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.