---
title: SceneKit
framework: SceneKit
role: collection
role_heading: Framework
platforms: [iOS 8.0+, iPadOS 8.0+, Mac Catalyst 13.1+, macOS 10.8+, tvOS 9.0+, visionOS 1.0+, watchOS 3.0+]
path: scenekit
---

# SceneKit

Create 3D games and add 3D content to apps using high-level scene descriptions, and easily add animations, physics simulation, particle effects, and realistic physically based rendering.

## Overview

Overview SceneKit combines a high-performance rendering engine with a descriptive API for import, manipulation, and rendering of 3D assets. Unlike lower-level APIs such as Metal and OpenGL that require you to implement in precise detail the rendering algorithms that display a scene, SceneKit requires only descriptions of your scene’s contents and the actions or animations you want it to perform. note: In visionOS, you can display SceneKit content only in 2D views and textures. For information about how to create immersive 3D content, see Creating fully immersive experiences in your app.

## Topics

### Essentials

- [SCNScene](scenekit/scnscene.md)
- [SCNView](scenekit/scnview.md)
- [SceneView](scenekit/sceneview.md)

### Scene Structure

- [Organizing a Scene with Nodes](scenekit/organizing-a-scene-with-nodes.md)
- [SCNNode](scenekit/scnnode.md)
- [SCNReferenceNode](scenekit/scnreferencenode.md)

### Display and Interactivity

- [SCNSceneRenderer](scenekit/scnscenerenderer.md)
- [SCNSceneRendererDelegate](scenekit/scnscenerendererdelegate.md)
- [SCNLayer](scenekit/scnlayer.md)
- [SCNRenderer](scenekit/scnrenderer.md)
- [SCNHitTestResult](scenekit/scnhittestresult.md)

### Lighting, Cameras, and Shading

- [SCNLight](scenekit/scnlight.md)
- [SCNCamera](scenekit/scncamera.md)
- [SCNMaterial](scenekit/scnmaterial.md)
- [SCNMaterialProperty](scenekit/scnmaterialproperty.md)

### Geometry

- [SCNGeometry](scenekit/scngeometry.md)
- [SCNGeometrySource](scenekit/scngeometrysource.md)
- [SCNGeometryElement](scenekit/scngeometryelement.md)
- [Built-in Geometry Types](scenekit/built-in-geometry-types.md)

### Animation and Constraints

- [Animation](scenekit/animation.md)
- [Constraints](scenekit/constraints.md)
- [SCNSkinner](scenekit/scnskinner.md)
- [SCNMorpher](scenekit/scnmorpher.md)

### Physics

- [Physics Simulation](scenekit/physics-simulation.md)

### Particle Systems

- [SCNParticleSystem](scenekit/scnparticlesystem.md)
- [SCNParticlePropertyController](scenekit/scnparticlepropertycontroller.md)

### Audio

- [SCNAudioSource](scenekit/scnaudiosource.md)
- [SCNAudioPlayer](scenekit/scnaudioplayer.md)

### Renderer Customization

- [SCNShadable](scenekit/scnshadable.md)
- [SCNProgram](scenekit/scnprogram.md)
- [SCNBufferStream](scenekit/scnbufferstream.md)
- [SCNTechnique](scenekit/scntechnique.md)
- [SCNTechniqueSupport](scenekit/scntechniquesupport.md)
- [SCNNodeRendererDelegate](scenekit/scnnoderendererdelegate.md)
- [Postprocessing a Scene With Custom Symbols](scenekit/postprocessing-a-scene-with-custom-symbols.md)

### Scene Asset Import

- [SCNSceneSource](scenekit/scnscenesource.md)

### JavaScript

- [SCNExportJavaScriptModule(_:)](scenekit/scnexportjavascriptmodule(_:).md)

### SceneKit Data Types

- [SceneKit 3D Data Types](scenekit/scenekit-3d-data-types.md)

### Macros

- [Macros](scenekit/scenekit-macros.md)

### Reference

- [SceneKit Enumerations](scenekit/scenekit-enumerations.md)
- [SceneKit Constants](scenekit/scenekit-constants.md)
