Apple's high-level 3D graphics framework. SceneKit provides a scene graph for managing 3D content, physics simulation, and particle effects for games and 3D apps.
of iOS users worldwide can use SceneKit (iOS 8+ required)
| iOS Version | Market Share | Status |
|---|---|---|
| iOS 18.7 | 30.3% | Supported |
| iOS 18.6 | 29.8% | Supported |
| iOS 26.1 | 10.7% | Supported |
| iOS 18.5 | 6.0% | Supported |
| iOS 16.7 | 2.3% | Supported |
| iOS 26.2 | 2.0% | Supported |
| iOS 18.3 | 1.8% | Supported |
| iOS 15.8 | 1.8% | Supported |
| iOS 11.0 | 1.7% | Supported |
| iOS 17.6 | 1.7% | Supported |
3D scene graph and rendering
Built-in physics engine
Particle systems
Skeletal animation
Shader support
Integration with ARKit
Set up a basic SceneKit scene with a sphere
import SceneKit
import UIKit
class SceneViewController: UIViewController {
var sceneView: SCNView!
override func viewDidLoad() {
super.viewDidLoad()
sceneView = SCNView(frame: view.bounds)
view.addSubview(sceneView)
let scene = SCNScene()
sceneView.scene = scene
sceneView.allowsCameraControl = true
sceneView.autoenablesDefaultLighting = true
// Create a sphere
let sphere = SCNSphere(radius: 1.0)
sphere.firstMaterial?.diffuse.contents = UIColor.blue
let sphereNode = SCNNode(geometry: sphere)
scene.rootNode.addChildNode(sphereNode)
// Add camera
let camera = SCNCamera()
let cameraNode = SCNNode()
cameraNode.camera = camera
cameraNode.position = SCNVector3(x: 0, y: 0, z: 5)
scene.rootNode.addChildNode(cameraNode)
}
}Apple's high-level 3D graphics framework. SceneKit provides a scene graph for managing 3D content, physics simulation, and particle effects for games and 3D apps.
SceneKit is available on iOS 8 and later. Currently, 99.7% of iOS users worldwide can use this framework.
Related frameworks include Arkit, Realitykit, Metal. Each has different capabilities and iOS version requirements.