---
title: skeleton
framework: scenekit
role: symbol
role_heading: Instance Property
path: scenekit/scnskinner/skeleton
---

# skeleton

The root node of the skinner object’s animation skeleton.

## Declaration

```swift
weak var skeleton: SCNNode? { get set }
```

## Discussion

Discussion If you replace a skinner’s skeleton by assigning a different node to this property, the new skeleton must have the same structure as the skeleton it replaces. That is, the hierarchy of nodes must match, although the current state of each node may not.

## See Also

### Working with an Animation Skeleton

- [bones](scenekit/scnskinner/bones.md)
- [boneInverseBindTransforms](scenekit/scnskinner/boneinversebindtransforms.md)
- [boneWeights](scenekit/scnskinner/boneweights.md)
- [boneIndices](scenekit/scnskinner/boneindices.md)
