Hi Spine team and community,
I'm currently working on a game using Spine 2D for animation and Godot for the engine, and I’ve hit a recurring issue with bounding boxes not matching the intended visual layout when assets are imported into the game.
The problem:
When we export from Spine (.json + atlas), and import into Godot:
The Skeleton2D node’s bounding box is based only on the bones' transforms,
It seems to ignore slots and image attachments that extend outside the rest pose,
This causes visual elements to be clipped or misaligned,
And it becomes impossible for our game developers to reliably position or align the animated content.
In Figma, we design assets (e.g., symbols, characters) inside fixed-size frames like 512x570 px, and we want that same visual footprint to exist in Godot after import but right now, the bounding box is too small or inconsistent.
What I’m trying to achieve:
I’d like to define a fixed-size “technical bounding box” directly inside Spine — basically a rectangle (e.g., 512x570) centered on the character or symbol — which:
- Is preserved in the .skel export,
- Can be picked up by Godot or at least included in the render data, so we can align, position, and structure the asset consistently in the game.
My question is:
Is there an official Spine technique to define a visual reference area that will force a consistent bounding box?
What’s the best practice for maintaining layout consistency across engines?
Is using an invisible image the only reliable workaround?
Any insight, confirmation, or suggestion would be really appreciated especially if there's a feature or method I might have missed.
Thanks so much for your help!
Joana