Spine error: Skin not found
- spine-ts (web, Phaser, PixiJS)
Skin not found: red— Skeleton.setSkinByName; SkeletonJson (animation, linked mesh)- spine-csharp (Unity)
Skin not found: red— Skeleton.SetSkin(string)
A skin name was asked for and the skeleton has no skin by that name. Most often it comes from setSkinByName in game code; sometimes from the file itself.
From game code
The name in setSkinByName (Unity: SetSkin(string)) must match a skin exactly. The skin without a name in the editor is exported as default. Print the real names:
// spine-ts console.log(skeleton.data.skins.map((s) => s.name)); // spine-csharp (Unity) foreach (var s in skeleton.Data.Skins) Debug.Log(s.Name);
From the file
- An animation keys attachments (deform, sequence) under a skin name that is not in
skins. spine-ts throwsSkin not foundwhile loading. - A linked mesh names its parent's skin in
skin, and that skin does not exist. spine-ts saysSkin not found; the C# runtime reports the same case asSlot not found: <skin name>.
Check your skeleton
The Spine JSON validator finds this in a skeleton.json before the runtime does, and names the exact place. It runs in your browser; the file is not uploaded. Riggy runs the same check on every rig it builds.
Other Spine runtime errors
- Region not found in atlas
- Couldn't find bone for slot
- Parent bone not found
- Couldn't find slot for skin
- Cannot read properties of undefined (reading 'bones')
- Color hexadecimal length must be 8
- Spine in Unity: The given key 'hash' was not present in the dictionary
- Animation not found
- Attachment not found, for slot