---
title: SCNConstraint
framework: scenekit
role: symbol
role_heading: Class
path: scenekit/scnconstraint
---

# SCNConstraint

The abstract superclass for objects that automatically adjust the position, rotation, or scale of a node based on specified rules.

## Declaration

```swift
class SCNConstraint
```

## Overview

Overview To control the transform (position, rotation, and scale) of one or more SCNNode objects with constraints, create and configure instances of the SCNConstraint subclass that provides the behavior you want, then add those constraint objects to each node’s constraints array. When SceneKit prepares to render a scene, it examines the list of constraints attached to each node to determine the transform for that node, then applies the new transformation before displaying the scene.

## Topics

### Tuning a Constraint’s Effect on Nodes

- [influenceFactor](scenekit/scnconstraint/influencefactor.md)

### Initializers

- [init(coder:)](scenekit/scnconstraint/init(coder:).md)

### Instance Properties

- [isEnabled](scenekit/scnconstraint/isenabled.md)
- [isIncremental](scenekit/scnconstraint/isincremental.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Inherited By

- [SCNAccelerationConstraint](scenekit/scnaccelerationconstraint.md)
- [SCNAvoidOccluderConstraint](scenekit/scnavoidoccluderconstraint.md)
- [SCNBillboardConstraint](scenekit/scnbillboardconstraint.md)
- [SCNDistanceConstraint](scenekit/scndistanceconstraint.md)
- [SCNIKConstraint](scenekit/scnikconstraint.md)
- [SCNLookAtConstraint](scenekit/scnlookatconstraint.md)
- [SCNReplicatorConstraint](scenekit/scnreplicatorconstraint.md)
- [SCNSliderConstraint](scenekit/scnsliderconstraint.md)
- [SCNTransformConstraint](scenekit/scntransformconstraint.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)
- [SCNAnimatable](scenekit/scnanimatable.md)
