<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "macCatalyst: -",
    "macOS: -",
    "tvOS: -",
    "visionOS: -",
    "watchOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "SpriteKit",
  "identifier" : "/documentation/SpriteKit/SKNode/reachConstraints",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "SpriteKit"
    ],
    "preciseIdentifier" : "c:objc(cs)SKNode(py)reachConstraints"
  },
  "title" : "reachConstraints"
}
-->

# reachConstraints

The reach constraints to apply to the node when executing a reach action.

```
@NSCopying var reachConstraints: SKReachConstraints? { get set }
```

## Discussion

To use inverse kinematics, create a new [`SKReachConstraints`](/documentation/SpriteKit/SKReachConstraints) object and assign it to this property. When a reach action calculates the new positions of this node, the possible values for this node are restricted to the constraints defined by this object. For more information on the inverse kinematic actions, see [`SKAction`](/documentation/SpriteKit/SKAction).

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)