Spine JSON validator
Paste a Spine 4.2 skeleton.json or pick the file, and get the list of problems that the Spine runtime loads without a word — or fails on while loading the whole skeleton. It is the same check Riggy runs on every rig it builds.
Check a skeleton
What it catches
- Slot color not eight hex characters. The web runtime forgives
ff8800and a leading#, so the file plays in the browser — and then Unity rejects the whole skeleton with Color hexadecimal length must be 8. The dark (tint black) color is exactly six. - Mesh
uvsagainstvertices. The vertex count comes from the length ofuvs, and weights are detected by comparing it withvertices: one lost coordinate silently turns an unweighted mesh into a weighted one, and the runtime draws garbage. - Deform keys pointing to a missing or non-mesh attachment. These fail the loading of the whole skeleton, not one animation — Cannot read properties of undefined (reading 'bones').
- Bezier handles outside the keys. A curve handle before its key or past the next one runs time backwards; the motion jerks there.
- Also: bones declared before their parent (Unity: Parent bone not found), a second root, duplicate names, numbers that are not finite, keys out of time order, curves on the last key, undeclared events, and a constraint order with gaps or duplicates.
Runtime error messages
Got an error from the Spine runtime itself — Region not found in atlas, Couldn't find bone, Animation not found? The Spine runtime errors pages explain each one for the web and Unity runtimes, with the fix.
What it does not check
It checks what Riggy knows about, not a full Spine validator. Vertex weights, clipping, bounding boxes, paths, linked meshes, slot timelines and the atlas are not checked — the result says what was skipped in each file.
Converting easing from CSS? CSS cubic-bezier to Spine 4.2 curve. Want the skeleton made for you? Riggy rigs and animates a layered PSD from one sentence, in Spine 4.2.
Try Riggy