The Ultimate 2D Modular & Customisable Animation System
Bring your characters to life with swappable equipment and perfectly synced animations — built for indie developers, by an indie developer.
One file - manage all parts, layers, and animations in a single Aseprite file
Auto-synced - every body part stays perfectly in sync, always
Beginner friendly - video guides, clean code, and easy-to-read documentation included
No Animator - no Animator component, no Coroutines, no headaches
One Aseprite file - One Click Export
- Draw layers for each body part (Skin, Weapon, Armor, etc.)
- Tag animations directly in Aseprite (Idle, Walk, Attack, etc.)
- Export everything in one click via Tools → Animation System → Export
Aseprite is recommended but not required — any sprite export tool works as long as the exported sprites follow the naming conventions outlined in the documentation.
Equipment swapping
- Swap weapons, armor, and gear instantly on input
- Animations update automatically on swap
- Uses Scriptable Objects for items data
- Easy to understand sub-systems for customisation
State-based animation
- Movement, combat, and direction states built-in
- Call SetNewState() to trigger any animation
- Animations can auto-return to idle when finished
Event-driven integration
- Subscribe to OnStateChanged to hook into any external system
- Sound, VFX, and UI examples included
- Clean event pattern with zero coupling
Example scene included
- Fully set up player controller out of the box
- TopDown and SideScroller movement modes
- Combat, health, and sound controller examples
- Placeholder animations ready to go
Full documentation
- Quick start guide available
- Video tutorial walkthrough
- API reference and troubleshooting tips