Professional 2D animations for your Godot games. A plugin that balances intuitive usability with extreme performance.
Note: This
developbranch is a work-in-progress version. The stable version can be obtained from the main branch or from Releases. The APIs and workflows in this branch may change without notice, and no warranty or support is provided (we cannot respond to feature requests or bug reports).
A high-performance extension plugin (GDExtension / Custom Module) for playing animations (.ssab) created with OPTPiX SpriteStudio 7 on Godot Engine. By combining Godot's powerful features with the expressive capabilities of a dedicated animation tool, it fully supports the development of rich 2D games.
- Unmatched Versatility: From Characters to UI and Effects Unlike character-specific tools, you can author everything from character animations using mesh deformation to UI transitions and rich particle effects, all within a single dedicated editor. It maximizes the expressive power of your raster images.
- Build "Entire Scenes" including Backgrounds and Effects Beyond animating individual characters, you can construct entire "cutscenes" or "full screen" presentations—combining characters, backgrounds, effects, and UI—directly in the editor, and play them back as a single animation in Godot.
- Cross-Engine Visual Consistency Since complex state calculations are handled by an independent core runtime, structural "visual deviations" caused by Godot's unique specifications do not occur. It is guaranteed that the appearance in the editor and the playback results in other engines perfectly match. Sub-frame interpolation ensures smooth rendering even at high refresh rates.
- Natural Integration as a Godot "Node" and Conflict Avoidance
SpriteStudioPlayer2Dseamlessly integrates into your Godot scenes as a standard node, allowing easy control from GDScript without bloating the Node tree. At the same time, the animation data itself is separated from the scene, preventing Git conflicts during team development. - Extreme Performance via Zero-copy Loading and SIMD
By converting your data into optimized binaries (
.ssab/ FlatBuffers) for use, parsing load is reduced to zero at runtime, allowing instant playback from memory. By fully utilizing SIMD in internal calculations, it achieves maximum animation playback performance with minimal CPU and memory overhead, ensuring smooth operation even in mobile environments or games rendering massive numbers of characters.
Comprehensive documentation is available in the docs/ folder:
- Installation
- Basic Usage
- Asset Import and Editor Integration
- Scripting and Events
- CLI Conversion and Automation
- Performance Tuning and Advanced Settings
- Build Guide
- Migration from v1.x
We provide two Quick Starts: one for quickly checking the operation using a sample project, and another for setting up your own project.
- Get Godot Engine: Download a 4.6-series editor from the official site.
- Download GDExtension: Get the latest package from Releases and extract it.
- Prepare Sample: Copy the extracted
addonsfolder into the examples/Ringo folder of this repository. - Check: Open the examples/Ringo project in Godot Engine and open
Ringo.tscnto immediately see the animation working.
- Install: Copy the
addonsfolder into your Godot project root. - Import: Drag & drop your
.sspjonto the Godot editor to convert it to.ssab. - Play: Add a
SpriteStudioPlayer2Dnode and assign the.ssabto itsSSAB Resourceproperty.
For more details, see the Installation Guide.
This plugin features a powerful asset pipeline that allows you to seamlessly transition between SpriteStudio and Godot, enabling you to update assets instantly.
For the data-flow diagram, key features, supported versions, and more, see the Documentation (English).
Sample projects based on SDK test projects are available under the examples folder.
- Ringo — Test for Ringo
- Scripting — GDScript example for controlling animations and signals
- allAttributeV7 — Functional test for all attributes
- allPartsV7 — Functional test for all part types
- overall — Comprehensive functional test
- overall_gdextension — Comprehensive test for GDExtension
- ParticleEffect — Test for effect features
- SpriteStudio-SDK — The SDK itself, providing
libssruntime/libssconverter
See LICENSE.md.
For third-party library licenses (such as FlatBuffers and SpriteStudio-SDK dependencies), see THIRD_PARTY_NOTICES.md.