<!--
{
  "availability" : [
    "iOS: 8.0.0 - 26.0.0",
    "iPadOS: 8.0.0 - 26.0.0",
    "macCatalyst: 13.1.0 - 26.0.0",
    "macOS: 10.8.0 - 26.0.0",
    "tvOS: 9.0.0 - 26.0.0",
    "visionOS: 1.0.0 - 26.0.0",
    "watchOS: 3.0.0 - 26.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "SceneKit",
  "identifier" : "/documentation/SceneKit/SCNView",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "SceneKit"
    ],
    "preciseIdentifier" : "c:objc(cs)SCNView"
  },
  "title" : "SCNView"
}
-->

# SCNView

A view for displaying 3D SceneKit content.

```
class SCNView
```

## Overview

In macOS, [`SCNView`](/documentation/SceneKit/SCNView) is a subclass of <doc://com.apple.documentation/documentation/AppKit/NSView>. In iOS and tvOS, [`SCNView`](/documentation/SceneKit/SCNView) is a subclass of <doc://com.apple.documentation/documentation/UIKit/UIView>. As part of either operating system’s view hierarchy, an [`SCNView`](/documentation/SceneKit/SCNView) object provides a place for SceneKit content in your app’s user interface. You can create a SceneKit view by using its [`init(frame:options:)`](/documentation/SceneKit/SCNView/init(frame:options:)) method or by adding it to a nib file or storyboard.  To provide content for a SceneKit view, assign an [`SCNScene`](/documentation/SceneKit/SCNScene) object to its [`scene`](/documentation/SceneKit/SCNView/scene) property.

For additional important methods and properties for working with SceneKit views, see the [`SCNSceneRenderer`](/documentation/SceneKit/SCNSceneRenderer) protocol. (You can also render SceneKit content into an arbitrary Metal command queue or OpenGL context using the [`SCNRenderer`](/documentation/SceneKit/SCNRenderer) class, or into a Core Animation layer on macOS using the [`SCNLayer`](/documentation/SceneKit/SCNLayer) class. The [`SCNSceneRenderer`](/documentation/SceneKit/SCNSceneRenderer) protocol defines functionality common to all three SceneKit rendering classes.)

## Topics

### Initializing a SceneKit View

[`init(frame:options:)`](/documentation/SceneKit/SCNView/init(frame:options:))

Initializes and returns a newly allocated SceneKit view object with the specified frame rectangle and options.

[`SCNView.Option`](/documentation/SceneKit/SCNView/Option)

Dictionary keys specifying initialization options, used when initializing a SceneKit view.

### Specifying a Scene

[`scene`](/documentation/SceneKit/SCNView/scene)

The scene to be displayed in the view.

### Configuring a View

[`backgroundColor`](/documentation/SceneKit/SCNView/backgroundColor)

The background color of the view.

[`preferredFramesPerSecond`](/documentation/SceneKit/SCNView/preferredFramesPerSecond)

The animation frame rate that the view uses to render its scene.

[`rendersContinuously`](/documentation/SceneKit/SCNView/rendersContinuously)

A Boolean value that determines whether the view always renders at its preferred frame rate or only when its visible content changes.

[`antialiasingMode`](/documentation/SceneKit/SCNView/antialiasingMode)

The antialiasing mode used for rendering the view’s scene.

[`SCNAntialiasingMode`](/documentation/SceneKit/SCNAntialiasingMode)

Modes for antialiased rendering of the view’s scene, used by the [`SCNView`](/documentation/SceneKit/SCNView) property.

### Managing Camera Controls

[`allowsCameraControl`](/documentation/SceneKit/SCNView/allowsCameraControl)

A Boolean value that determines whether the user can manipulate the current point of view that is used to render the scene.

[`cameraControlConfiguration`](/documentation/SceneKit/SCNView/cameraControlConfiguration)

The current configuration for the camera controller’s event-handling behavior.

[`SCNCameraControlConfiguration`](/documentation/SceneKit/SCNCameraControlConfiguration)

Properties affecting the behavior of a camera controller.

[`defaultCameraController`](/documentation/SceneKit/SCNView/defaultCameraController)

[`SCNCameraController`](/documentation/SceneKit/SCNCameraController)

### Playing Action and Animation in a View’s Scene

[`pause(_:)`](/documentation/SceneKit/SCNView/pause(_:))

Pauses playback of the view’s scene.

[`play(_:)`](/documentation/SceneKit/SCNView/play(_:))

Resumes playback of the view’s scene.

[`stop(_:)`](/documentation/SceneKit/SCNView/stop(_:))

Stops playback of the view’s scene and resets the scene time to its start time.

### Capturing a View Snapshot

[`snapshot()`](/documentation/SceneKit/SCNView/snapshot())

Renders the view’s scene into a new image object.

### Working with a View’s OpenGL ES Context

[`eaglContext`](/documentation/SceneKit/SCNView/eaglContext)

The OpenGL ES context that the view uses to render its contents.

### Working with a View’s OpenGL Context

[`openGLContext`](/documentation/SceneKit/SCNView/openGLContext)

The OpenGL context that the view uses to render its contents.

[`pixelFormat`](/documentation/SceneKit/SCNView/pixelFormat)

The view’s OpenGL pixel format.



---

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)