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 | 24.1% | Supported |
| iOS 26.2 | 22.9% | Supported |
| iOS 18.6 | 19.7% | Supported |
| iOS 26.1 | 7.7% | Supported |
| iOS 18.5 | 5.0% | Supported |
| iOS 16.7 | 2.2% | Supported |
| iOS 11.0 | 2.1% | Supported |
| iOS 15.8 | 1.7% | Supported |
| iOS 18.3 | 1.6% | Supported |
| iOS 17.6 | 1.5% | 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.8% of iOS users worldwide can use this framework.
Related frameworks include Arkit, Realitykit, Metal. Each has different capabilities and iOS version requirements.