---
title: SCNCameraController
framework: scenekit
role: symbol
role_heading: Class
path: scenekit/scncameracontroller
---

# SCNCameraController

## Declaration

```swift
class SCNCameraController
```

## Topics

### Responding to Control Events

- [delegate](scenekit/scncameracontroller/delegate.md)
- [SCNCameraControllerDelegate](scenekit/scncameracontrollerdelegate.md)

### Supporting Types

- [SCNInteractionMode](scenekit/scninteractionmode.md)

### Instance Properties

- [automaticTarget](scenekit/scncameracontroller/automatictarget.md)
- [inertiaEnabled](scenekit/scncameracontroller/inertiaenabled.md)
- [inertiaFriction](scenekit/scncameracontroller/inertiafriction.md)
- [interactionMode](scenekit/scncameracontroller/interactionmode.md)
- [isInertiaRunning](scenekit/scncameracontroller/isinertiarunning.md)
- [maximumHorizontalAngle](scenekit/scncameracontroller/maximumhorizontalangle.md)
- [maximumVerticalAngle](scenekit/scncameracontroller/maximumverticalangle.md)
- [minimumHorizontalAngle](scenekit/scncameracontroller/minimumhorizontalangle.md)
- [minimumVerticalAngle](scenekit/scncameracontroller/minimumverticalangle.md)
- [pointOfView](scenekit/scncameracontroller/pointofview.md)
- [target](scenekit/scncameracontroller/target.md)
- [worldUp](scenekit/scncameracontroller/worldup.md)

### Instance Methods

- [beginInteraction(_:withViewport:)](scenekit/scncameracontroller/begininteraction(_:withviewport:).md)
- [clearRoll()](scenekit/scncameracontroller/clearroll().md)
- [continueInteraction(_:withViewport:sensitivity:)](scenekit/scncameracontroller/continueinteraction(_:withviewport:sensitivity:).md)
- [dolly(by:onScreenPoint:viewport:)](scenekit/scncameracontroller/dolly(by:onscreenpoint:viewport:).md)
- [dolly(toTarget:)](scenekit/scncameracontroller/dolly(totarget:).md)
- [endInteraction(_:withViewport:velocity:)](scenekit/scncameracontroller/endinteraction(_:withviewport:velocity:).md)
- [frameNodes(_:)](scenekit/scncameracontroller/framenodes(_:).md)
- [roll(by:aroundScreenPoint:viewport:)](scenekit/scncameracontroller/roll(by:aroundscreenpoint:viewport:).md)
- [rollAroundTarget(_:)](scenekit/scncameracontroller/rollaroundtarget(_:).md)
- [rotateBy(x:y:)](scenekit/scncameracontroller/rotateby(x:y:).md)
- [stopInertia()](scenekit/scncameracontroller/stopinertia().md)
- [translateInCameraSpaceBy(x:y:z:)](scenekit/scncameracontroller/translateincameraspaceby(x:y:z:).md)

## Relationships

### Inherits From

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

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Managing Camera Controls

- [allowsCameraControl](scenekit/scnview/allowscameracontrol.md)
- [cameraControlConfiguration](scenekit/scnview/cameracontrolconfiguration.md)
- [SCNCameraControlConfiguration](scenekit/scncameracontrolconfiguration.md)
- [defaultCameraController](scenekit/scnview/defaultcameracontroller.md)
