# esotericsoftware/spine-runtimes

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/esotericsoftware-spine-runtimes).**

4,997 stars · 3,035 forks · C++ · other

## Links

- GitHub: https://github.com/EsotericSoftware/spine-runtimes
- Homepage: http://esotericsoftware.com/
- awesome-repositories: https://awesome-repositories.com/repository/esotericsoftware-spine-runtimes.md

## Topics

`2d` `animations` `game-dev` `gamedev` `runtimes` `skeletal` `spine`

## Description

Spine Runtimes is a 2D skeletal animation runtime library that loads and plays back animations created with the Spine design tool. It manages a skeleton hierarchy of bones, slots, and attachments, applying keyframe-driven animations with configurable easing curves. The runtime renders animated characters using textured meshes from a packed atlas, supporting GPU-accelerated display across multiple platforms.

The library provides animation blending and crossfading for smooth pose transitions between animations, and it allows switching a character’s appearance on the fly by applying different skins without requiring re‑export of assets. Each skin remaps attachment references per slot, enabling fast visual variations for game characters. The renderer is designed to work across platforms, consuming data exported from Spine and drawing the animated skeleton in real time.

Core data loading handles both binary and JSON formats, decoupling authoring from runtime use. The bone hierarchy updates transforms recursively, and the slot‑layered attachment system stacks region or mesh drawables for complex visuals. Animation playback supports starting, stopping, and blending between multiple poses. Documentation for each platform is included directly in the repository, covering data loading, animation control, and rendering integration.

## Tags

### Game Development

- [Character Animation Runtimes](https://awesome-repositories.com/f/game-development/character-animation-runtimes.md) — Provides a runtime library that loads and plays back 2D skeletal animations for game characters, integrating with game engines.
- [Skeletal Skin Swapping](https://awesome-repositories.com/f/game-development/skeletal-skin-swapping.md) — Switches the visible appearance of a skeleton by applying a different skin, enabling visual variations without re-exporting. ([source](http://esotericsoftware.com/spine-runtimes-guide))
- [Skeleton Skin Switching](https://awesome-repositories.com/f/game-development/skeleton-skin-switching.md) — Switches a skeleton's visible appearance by applying different skins without re-exporting assets.
- [Skin Swapping Managers](https://awesome-repositories.com/f/game-development/skin-swapping-managers.md) — Switches a skeleton's visible appearance by applying different skins without re-exporting data.

### Graphics & Multimedia

- [Keyframe Animations](https://awesome-repositories.com/f/graphics-multimedia/keyframe-animations.md) — Interpolates between timed keyframes using configurable easing curves for natural motion in skeletal animations.
- [Runtime Animation Blending](https://awesome-repositories.com/f/graphics-multimedia/media-production-suites/animation-tools/keyframe-skeletal-systems/animation-pipelines/runtime-animation-blending.md) — Blends and crossfades animations on a skeleton to create smooth transitions between poses during runtime. ([source](http://esotericsoftware.com/spine-runtimes-guide))
- [2D Mesh Deformations](https://awesome-repositories.com/f/graphics-multimedia/mesh-processing-apis/skeletal-animation/2d-mesh-deformations.md) — Renders animated 2D skeletons by drawing textured, triangulated meshes from a packed atlas for real-time display.
- [2D Skeletal Rigs](https://awesome-repositories.com/f/graphics-multimedia/mesh-processing-apis/skeletal-animation/2d-skeletal-rigs.md) — Loads and plays back 2D skeletal animations created with the Spine design tool, including bones, skins, and animation blending.
- [Pose Visualizations](https://awesome-repositories.com/f/graphics-multimedia/pose-visualizations.md) — Renders the current pose of a skeleton, including bones, slots, and attachments, for real-time display. ([source](http://esotericsoftware.com/spine-runtimes-guide))
- [Skeletal Animation Blending](https://awesome-repositories.com/f/graphics-multimedia/skeletal-animation-blending.md) — Provides blending and crossfading between animations to create smooth transitions between skeleton poses.
- [Skeletal Animation Data Loaders](https://awesome-repositories.com/f/graphics-multimedia/skeletal-animation-data-loaders.md) — Loads skeleton and atlas data from binary and JSON files exported by the Spine design tool.
- [Skeletal Attachment Layers](https://awesome-repositories.com/f/graphics-multimedia/skeletal-attachment-layers.md) — Stacks ordered slots each hosting a single drawable attachment to compose complex visuals for animated skeletons.
- [Skeletal Attachment Skins](https://awesome-repositories.com/f/graphics-multimedia/skeletal-attachment-skins.md) — Provides skin-based attachment remapping to change character appearance on the fly without re-exporting assets.
- [Skeleton Data Loaders](https://awesome-repositories.com/f/graphics-multimedia/skeleton-data-loaders.md) — Loads skeleton and atlas data from exported files into objects that can be animated and rendered. ([source](http://esotericsoftware.com/spine-runtimes-guide))

### Software Engineering & Architecture

- [Skeleton Renderers](https://awesome-repositories.com/f/software-engineering-architecture/cross-platform-rendering-abstractions/skeleton-renderers.md) — Renders animated 2D skeletons in real time across multiple platforms by consuming data exported from Spine.

### User Interface & Experience

- [Tree-Based Blending Logic](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/configuration-utility-helpers/animation-configuration/playback-lifecycle-controllers/animation-state-management/tree-based-blending-logic.md) — Provides blending and crossfading between skeleton animations using tree-based logic for smooth transitions.
- [Coordinate Transform Hierarchies](https://awesome-repositories.com/f/user-interface-experience/coordinate-systems/coordinate-transform-hierarchies.md) — Provides a hierarchical bone transform tree that propagates local rotations and translations to child bones recursively for animation.
