A Godot plugin that imports Spriter (.scon) models and converts them into playable Godot scenes.
⚠️ Work in progress
This plugin currently supports skeletons, sprites, and simple animations.
-
Imports Spriter (.scon) models
-
Creates a Godot scene from the Spriter model
-
Supports:
-
Skeleton hierarchy
-
Sprites
-
Simple animations
-
-
Animations are played using Godot’s AnimationPlayer
-
Compatible with animation signals such as animation_finished
-
❌ Advanced animation features may not work yet
-
❌ Complex constraints are not implemented
- Copy the plugin folder into your Godot project:
res://addons/spriter_importer/
- Enable the plugin in:
Project Settings → Plugins
- Place your Spriter model folder (including the .scon file and images) inside your project, for example:
res://assets/sprite/SPRITER_MODEL/
-
The plugin will generate a Godot scene from the Spriter model.
-
Instance the generated scene in your game.
The generated scene contains:
-
A Skeleton2D
-
An AnimationPlayer inside the skeleton
You can control animations directly via the AnimationPlayer.
This example cycles through all animations in a Spriter model and plays them sequentially:
extends Node2D
@onready var Skeleton = $Skeleton
@onready var AnimPlay = $Skeleton/AnimationPlayer
func _ready():
for anim_name in AnimPlay.get_animation_list():
var anim = AnimPlay.get_animation(anim_name)
anim.loop_mode = Animation.LOOP_NONE
AnimPlay.connect("animation_finished", _animation_end)
AnimPlay.play("Stand", 0.5)
func _animation_end(anim_name : String) -> void:
match anim_name:
"Stand":
AnimPlay.play("Walk", 1, 0.5)
"Walk":
AnimPlay.play("Jump", 1, 0.5)
"Jump":
AnimPlay.play("Stand", 1, 0.5)-
If an animation does not loop, you can use the animation_finished signal to chain animations.
-
Loop behavior can be controlled via Animation.loop_mode.
- Developed for Godot 4.5
-
Planned improvements:
-
Better animation accuracy
-
Support for more Spriter features
-
Bug fixes and optimizations
-