One Logo Pool Ball
Graphics and Games · IOS API REFERENCE

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.

151 types

1,695 callable entries

73 skipped

96% entry coverage

Generated from iOS SDK 27.1. Availability is shown on each declaration; permissions and entitlements still apply.

Types

SCNAccelerationConstraint

class · iOS 11.0+

SCNAction

class

SCNActionable

protocol

SCNActionTimingFunction

typealias

SCNActionTimingMode

enum · iOS 8.0+

SCNAnimatable

protocol

SCNAnimation

class · iOS 11.0+

SCNAnimationDidStartBlock

typealias

SCNAnimationDidStopBlock

typealias

SCNAnimationEvent

class

SCNAnimationEventBlock

typealias

SCNAnimationPlayer

class · iOS 11.0+

SCNAnimationProtocol

protocol

SCNAntialiasingMode

enum

SCNAudioPlayer

class · iOS 9.0+

SCNAudioSource

class · iOS 9.0+

SCNAvoidOccluderConstraint

class · iOS 11.0+

SCNAvoidOccluderConstraintDelegate

protocol · iOS 11.0+

SCNBillboardAxis

struct

SCNBillboardConstraint

class · iOS 9.0+

SCNBindingBlock

typealias

SCNBlendMode

enum · iOS 9.0+

SCNBoundingVolume

protocol

SCNBox

class

SCNBufferBindingBlock

typealias

SCNBufferFrequency

enum · iOS 9.0+

SCNBufferStream

protocol

SCNCamera

class

SCNCameraControlConfiguration

protocol · iOS 11.0+

SCNCameraController

class · iOS 11.0+

SCNCameraControllerDelegate

protocol · iOS 11.0+

SCNCameraProjectionDirection

enum · iOS 11.0+

SCNCapsule

class

SCNChamferMode

enum

SCNColorMask

struct · iOS 11.0+

SCNCone

class

SCNConstraint

class

SCNCullMode

enum

SCNCylinder

class

SCNDebugOptions

struct · iOS 9.0+

SCNDistanceConstraint

class · iOS 11.0+

SCNFieldForceEvaluator

typealias

SCNFillMode

enum · iOS 11.0+

SCNFilterMode

enum

SCNFloat

typealias

SCNFloor

class

SCNGeometry

class

SCNGeometryElement

class

SCNGeometryPrimitiveType

enum

SCNGeometrySource

class

SCNGeometrySource.Semantic

struct

SCNGeometryTessellator

class · iOS 11.0+

SCNHitTestOption

struct

SCNHitTestResult

class

SCNHitTestSearchMode

enum · iOS 11.0+

SCNIKConstraint

class

SCNInteractionMode

enum · iOS 11.0+

SCNLevelOfDetail

class

SCNLight

class

SCNLight.LightType

struct

SCNLightAreaType

enum · iOS 13.0+

SCNLightProbeType

enum · iOS 13.0+

SCNLightProbeUpdateType

enum · iOS 13.0+

SCNLookAtConstraint

class

SCNMaterial

class

SCNMaterial.LightingModel

struct

SCNMaterialProperty

class

SCNMatrix4

struct

SCNMorpher

class

SCNMorpherCalculationMode

enum

SCNMovabilityHint

enum · iOS 10.0+

SCNNode

class

SCNNodeFocusBehavior

enum · iOS 11.0+

SCNNodeRendererDelegate

protocol

SCNParticleBirthDirection

enum

SCNParticleBirthLocation

enum

SCNParticleBlendMode

enum

SCNParticleEvent

enum

SCNParticleEventBlock

typealias

SCNParticleImageSequenceAnimationMode

enum

SCNParticleInputMode

enum

SCNParticleModifierBlock

typealias

SCNParticleModifierStage

enum

SCNParticleOrientationMode

enum

SCNParticlePropertyController

class

SCNParticleSortingMode

enum

SCNParticleSystem

class

SCNParticleSystem.ParticleProperty

struct

SCNPhysicsBallSocketJoint

class

SCNPhysicsBehavior

class

SCNPhysicsBody

class

SCNPhysicsBodyType

enum

SCNPhysicsCollisionCategory

struct

SCNPhysicsConeTwistJoint

class · iOS 11.0+

SCNPhysicsContact

class

SCNPhysicsContactDelegate

protocol

SCNPhysicsField

class

SCNPhysicsFieldScope

enum

SCNPhysicsHingeJoint

class

SCNPhysicsShape

class

SCNPhysicsShape.Option

struct

SCNPhysicsShape.ShapeType

struct

SCNPhysicsSliderJoint

class

SCNPhysicsVehicle

class

SCNPhysicsVehicleWheel

class

SCNPhysicsWorld

class

SCNPhysicsWorld.TestOption

struct

SCNPhysicsWorld.TestSearchMode

struct

SCNPlane

class

SCNProgram

class

SCNProgramDelegate

protocol

SCNPyramid

class

SCNQuaternion

typealias

SCNReferenceLoadingPolicy

enum · iOS 9.0+

SCNReferenceNode

class · iOS 9.0+

SCNRenderer

class

SCNRenderingAPI

enum · iOS 9.0+

SCNReplicatorConstraint

class · iOS 11.0+

SCNScene

class

SCNScene.Attribute

struct

SCNSceneExportDelegate

protocol · iOS 10.0+

SCNSceneExportProgressHandler

typealias

SCNSceneRenderer

protocol

SCNSceneRendererDelegate

protocol

SCNSceneSource

class

SCNSceneSource.AnimationImportPolicy

struct

SCNSceneSource.LoadingOption

struct

SCNSceneSourceStatus

enum

SCNSceneSourceStatusHandler

typealias

SCNShadable

protocol

SCNShaderModifierEntryPoint

struct

SCNShadowMode

enum

SCNShape

class

SCNSkinner

class

SCNSliderConstraint

class · iOS 11.0+

SCNSphere

class

SCNTechnique

class

SCNTechniqueSupport

protocol

SCNTessellationSmoothingMode

enum · iOS 11.0+

SCNText

class

SCNTimingFunction

class · iOS 11.0+

SCNTorus

class

SCNTransaction

class

SCNTransformConstraint

class

SCNTransparencyMode

enum

SCNTube

class

SCNVector3

struct

SCNVector4

struct

SCNView

class

SCNView.Option

struct

SCNWrapMode

enum

Functions and constants

get

SCNConsistencyInvalidArgumentError

TypeScript
const SCNConsistencyInvalidArgumentError: number
Swift declaration
var SCNConsistencyInvalidArgumentError: Int { get }
get

SCNConsistencyInvalidCountError

TypeScript
const SCNConsistencyInvalidCountError: number
Swift declaration
var SCNConsistencyInvalidCountError: Int { get }
get

SCNConsistencyInvalidURIError

TypeScript
const SCNConsistencyInvalidURIError: number
Swift declaration
var SCNConsistencyInvalidURIError: Int { get }
get

SCNConsistencyMissingAttributeError

TypeScript
const SCNConsistencyMissingAttributeError: number
Swift declaration
var SCNConsistencyMissingAttributeError: Int { get }
get

SCNConsistencyMissingElementError

TypeScript
const SCNConsistencyMissingElementError: number
Swift declaration
var SCNConsistencyMissingElementError: Int { get }
get

SCNConsistencyXMLSchemaValidationError

TypeScript
const SCNConsistencyXMLSchemaValidationError: number
Swift declaration
var SCNConsistencyXMLSchemaValidationError: Int { get }
get

SCNProgramCompilationError

TypeScript
const SCNProgramCompilationError: number
Swift declaration
var SCNProgramCompilationError: Int { get }
function

SCNExportJavaScriptModule

TypeScript
SCNExportJavaScriptModule(context: _JavaScriptCore_JSContext): void
Swift declaration
func SCNExportJavaScriptModule(_ context: JSContext)
function

SCNMatrix4EqualToMatrix4

TypeScript
SCNMatrix4EqualToMatrix4(a: SCNMatrix4, b: SCNMatrix4): boolean
Swift declaration
func SCNMatrix4EqualToMatrix4(_ a: SCNMatrix4, _ b: SCNMatrix4) -> Bool
function

SCNMatrix4FromGLKMatrix4

TypeScript
SCNMatrix4FromGLKMatrix4(mat: SDKHandle): SCNMatrix4
Swift declaration
func SCNMatrix4FromGLKMatrix4(_ mat: GLKMatrix4) -> SCNMatrix4
function

SCNMatrix4Invert

TypeScript
SCNMatrix4Invert(m: SCNMatrix4): SCNMatrix4
Swift declaration
func SCNMatrix4Invert(_ m: SCNMatrix4) -> SCNMatrix4
function

SCNMatrix4IsIdentity

TypeScript
SCNMatrix4IsIdentity(m: SCNMatrix4): boolean
Swift declaration
func SCNMatrix4IsIdentity(_ m: SCNMatrix4) -> Bool
function

SCNMatrix4MakeRotation

TypeScript
SCNMatrix4MakeRotation(angle: number, x: number, y: number, z: number): SCNMatrix4
Swift declaration
func SCNMatrix4MakeRotation(_ angle: Float, _ x: Float, _ y: Float, _ z: Float) -> SCNMatrix4
function

SCNMatrix4MakeScale

TypeScript
SCNMatrix4MakeScale(sx: number, sy: number, sz: number): SCNMatrix4
Swift declaration
func SCNMatrix4MakeScale(_ sx: Float, _ sy: Float, _ sz: Float) -> SCNMatrix4
function

SCNMatrix4MakeTranslation

TypeScript
SCNMatrix4MakeTranslation(tx: number, ty: number, tz: number): SCNMatrix4
Swift declaration
func SCNMatrix4MakeTranslation(_ tx: Float, _ ty: Float, _ tz: Float) -> SCNMatrix4
function

SCNMatrix4Mult

TypeScript
SCNMatrix4Mult(a: SCNMatrix4, b: SCNMatrix4): SCNMatrix4
Swift declaration
func SCNMatrix4Mult(_ a: SCNMatrix4, _ b: SCNMatrix4) -> SCNMatrix4
function

SCNMatrix4Rotate

TypeScript
SCNMatrix4Rotate(m: SCNMatrix4, angle: number, x: number, y: number, z: number): SCNMatrix4
Swift declaration
func SCNMatrix4Rotate(_ m: SCNMatrix4, _ angle: Float, _ x: Float, _ y: Float, _ z: Float) -> SCNMatrix4
function

SCNMatrix4Scale

TypeScript
SCNMatrix4Scale(m: SCNMatrix4, sx: number, sy: number, sz: number): SCNMatrix4
Swift declaration
func SCNMatrix4Scale(_ m: SCNMatrix4, _ sx: Float, _ sy: Float, _ sz: Float) -> SCNMatrix4
function

SCNMatrix4ToGLKMatrix4

TypeScript
SCNMatrix4ToGLKMatrix4(mat: SCNMatrix4): SDKHandle
Swift declaration
func SCNMatrix4ToGLKMatrix4(_ mat: SCNMatrix4) -> GLKMatrix4
function

SCNMatrix4Translate

TypeScript
SCNMatrix4Translate(m: SCNMatrix4, tx: number, ty: number, tz: number): SCNMatrix4
Swift declaration
func SCNMatrix4Translate(_ m: SCNMatrix4, _ tx: Float, _ ty: Float, _ tz: Float) -> SCNMatrix4
function

SCNVector3EqualToVector3

TypeScript
SCNVector3EqualToVector3(a: SCNVector3, b: SCNVector3): boolean
Swift declaration
func SCNVector3EqualToVector3(_ a: SCNVector3, _ b: SCNVector3) -> Bool
function

SCNVector3FromGLKVector3

TypeScript
SCNVector3FromGLKVector3(vector: SDKHandle): SCNVector3
Swift declaration
func SCNVector3FromGLKVector3(_ vector: GLKVector3) -> SCNVector3
function

SCNVector3Make

TypeScript
SCNVector3Make(x: number, y: number, z: number): SCNVector3
Swift declaration
func SCNVector3Make(_ x: Float, _ y: Float, _ z: Float) -> SCNVector3
function

SCNVector3ToGLKVector3

TypeScript
SCNVector3ToGLKVector3(vector: SCNVector3): SDKHandle
Swift declaration
func SCNVector3ToGLKVector3(_ vector: SCNVector3) -> GLKVector3
function

SCNVector4EqualToVector4

TypeScript
SCNVector4EqualToVector4(a: SCNVector4, b: SCNVector4): boolean
Swift declaration
func SCNVector4EqualToVector4(_ a: SCNVector4, _ b: SCNVector4) -> Bool
function

SCNVector4FromGLKVector4

TypeScript
SCNVector4FromGLKVector4(vector: SDKHandle): SCNVector4
Swift declaration
func SCNVector4FromGLKVector4(_ vector: GLKVector4) -> SCNVector4
function

SCNVector4Make

TypeScript
SCNVector4Make(x: number, y: number, z: number, w: number): SCNVector4
Swift declaration
func SCNVector4Make(_ x: Float, _ y: Float, _ z: Float, _ w: Float) -> SCNVector4
function

SCNVector4ToGLKVector4

TypeScript
SCNVector4ToGLKVector4(vector: SCNVector4): SDKHandle
Swift declaration
func SCNVector4ToGLKVector4(_ vector: SCNVector4) -> GLKVector4
get

SCNConsistencyElementIDErrorKey

TypeScript
const SCNConsistencyElementIDErrorKey: string
Swift declaration
let SCNConsistencyElementIDErrorKey: String
get

SCNConsistencyElementTypeErrorKey

TypeScript
const SCNConsistencyElementTypeErrorKey: string
Swift declaration
let SCNConsistencyElementTypeErrorKey: String
get

SCNConsistencyLineNumberErrorKey

TypeScript
const SCNConsistencyLineNumberErrorKey: string
Swift declaration
let SCNConsistencyLineNumberErrorKey: String
get

SCNDetailedErrorsKey

TypeScript
const SCNDetailedErrorsKey: string
Swift declaration
let SCNDetailedErrorsKey: String
get

SCNErrorDomain

TypeScript
const SCNErrorDomain: string
Swift declaration
let SCNErrorDomain: String
get

SCNMatrix4Identity

TypeScript
const SCNMatrix4Identity: SCNMatrix4
Swift declaration
let SCNMatrix4Identity: SCNMatrix4
get

SCNModelTransform

TypeScript
const SCNModelTransform: string
Swift declaration
let SCNModelTransform: String
get

SCNModelViewProjectionTransform

TypeScript
const SCNModelViewProjectionTransform: string
Swift declaration
let SCNModelViewProjectionTransform: String
get

SCNModelViewTransform

TypeScript
const SCNModelViewTransform: string
Swift declaration
let SCNModelViewTransform: String
get

SCNNormalTransform

TypeScript
const SCNNormalTransform: string
Swift declaration
let SCNNormalTransform: String
get

SCNProgramMappingChannelKey

TypeScript
const SCNProgramMappingChannelKey: string
Swift declaration
let SCNProgramMappingChannelKey: String
get

SCNProjectionTransform

TypeScript
const SCNProjectionTransform: string
Swift declaration
let SCNProjectionTransform: String
get

SCNSceneExportDestinationURL

TypeScript
const SCNSceneExportDestinationURL: string
Swift declaration
let SCNSceneExportDestinationURL: String
get

SCNSceneSourceAssetAuthorKey

TypeScript
const SCNSceneSourceAssetAuthorKey: string
Swift declaration
let SCNSceneSourceAssetAuthorKey: String
get

SCNSceneSourceAssetAuthoringToolKey

TypeScript
const SCNSceneSourceAssetAuthoringToolKey: string
Swift declaration
let SCNSceneSourceAssetAuthoringToolKey: String
get

SCNSceneSourceAssetContributorsKey

TypeScript
const SCNSceneSourceAssetContributorsKey: string
Swift declaration
let SCNSceneSourceAssetContributorsKey: String
get

SCNSceneSourceAssetCreatedDateKey

TypeScript
const SCNSceneSourceAssetCreatedDateKey: string
Swift declaration
let SCNSceneSourceAssetCreatedDateKey: String
get

SCNSceneSourceAssetModifiedDateKey

TypeScript
const SCNSceneSourceAssetModifiedDateKey: string
Swift declaration
let SCNSceneSourceAssetModifiedDateKey: String
get

SCNSceneSourceAssetUnitKey

TypeScript
const SCNSceneSourceAssetUnitKey: string
Swift declaration
let SCNSceneSourceAssetUnitKey: String
get

SCNSceneSourceAssetUnitMeterKey

TypeScript
const SCNSceneSourceAssetUnitMeterKey: string
Swift declaration
let SCNSceneSourceAssetUnitMeterKey: String
get

SCNSceneSourceAssetUnitNameKey

TypeScript
const SCNSceneSourceAssetUnitNameKey: string
Swift declaration
let SCNSceneSourceAssetUnitNameKey: String
get

SCNSceneSourceAssetUpAxisKey

TypeScript
const SCNSceneSourceAssetUpAxisKey: string
Swift declaration
let SCNSceneSourceAssetUpAxisKey: String
get

SCNVector3Zero

TypeScript
const SCNVector3Zero: SCNVector3
Swift declaration
let SCNVector3Zero: SCNVector3
get

SCNVector4Zero

TypeScript
const SCNVector4Zero: SCNVector4
Swift declaration
let SCNVector4Zero: SCNVector4
get

SCNViewTransform

TypeScript
const SCNViewTransform: string
Swift declaration
let SCNViewTransform: String
get

SCN_ENABLE_METAL

TypeScript
const SCN_ENABLE_METAL: number
Swift declaration
var SCN_ENABLE_METAL: Int32 { get }
get

SCN_ENABLE_OPENGL

TypeScript
const SCN_ENABLE_OPENGL: number
Swift declaration
var SCN_ENABLE_OPENGL: Int32 { get }
init · iOS 11.0+

init

TypeScript
static init(animation: SCNAnimation): _QuartzCore_CAAnimation
Swift declaration
init(SCNAnimation animation: SCNAnimation)
get

animationEvents

TypeScript
get animationEvents(): (Array<SCNAnimationEvent>) | null
Swift declaration
var animationEvents: [SCNAnimationEvent]? { get set }
set

animationEvents

TypeScript
set animationEvents(value: (Array<SCNAnimationEvent>) | null)
Swift declaration
var animationEvents: [SCNAnimationEvent]? { get set }
get

fadeInDuration

TypeScript
get fadeInDuration(): number
Swift declaration
var fadeInDuration: CGFloat { get set }
set

fadeInDuration

TypeScript
set fadeInDuration(value: number)
Swift declaration
var fadeInDuration: CGFloat { get set }
get

fadeOutDuration

TypeScript
get fadeOutDuration(): number
Swift declaration
var fadeOutDuration: CGFloat { get set }
set

fadeOutDuration

TypeScript
set fadeOutDuration(value: number)
Swift declaration
var fadeOutDuration: CGFloat { get set }
get

usesSceneTimeBase

TypeScript
get usesSceneTimeBase(): boolean
Swift declaration
var usesSceneTimeBase: Bool { get set }
set

usesSceneTimeBase

TypeScript
set usesSceneTimeBase(value: boolean)
Swift declaration
var usesSceneTimeBase: Bool { get set }
init

init

TypeScript
static initScnMatrix4(v: SCNMatrix4): _Foundation_NSValue
Swift declaration
init(SCNMatrix4 v: SCNMatrix4)
init

init

TypeScript
static initScnVector3(v: SCNVector3): _Foundation_NSValue
Swift declaration
init(SCNVector3 v: SCNVector3)
init

init

TypeScript
static initScnVector4(v: SCNVector4): _Foundation_NSValue
Swift declaration
init(SCNVector4 v: SCNVector4)
get

scnMatrix4Value

TypeScript
get scnMatrix4Value(): SCNMatrix4
Swift declaration
var scnMatrix4Value: SCNMatrix4 { get }
get

scnVector3Value

TypeScript
get scnVector3Value(): SCNVector3
Swift declaration
var scnVector3Value: SCNVector3 { get }
get

scnVector4Value

TypeScript
get scnVector4Value(): SCNVector4
Swift declaration
var scnVector4Value: SCNVector4 { get }

Skipped declarations

73 declarations were excluded from these bindings. Each reason comes from the generator or the iOS SDK compiler.

simd_float4x4.init(_:)

The containing type is outside the generated SDK type index.

simd_double4x4.init(_:)

The containing type is outside the generated SDK type index.

SCNSceneSource.entryWithIdentifier(_:withClass:)

Passing a Swift type itself is not supported.

SCNAction.timingFunction

closure property answers its caller

SCNNode.childNodes(passingTest:)

callback cannot propagate synchronous failure

SCNTransformConstraint.init(inWorldSpace:with:)

callback cannot propagate synchronous failure

SCNTransformConstraint.positionConstraint(inWorldSpace:with:)

callback cannot propagate synchronous failure

SCNTransformConstraint.orientationConstraint(inWorldSpace:with:)

callback cannot propagate synchronous failure

SCNParticleSystem.handle(_:forProperties:handler:)

Nested memory pointers cannot cross the bridge.

SCNParticleSystem.addModifier(forProperties:at:modifier:)

Nested memory pointers cannot cross the bridge.

SCNSceneSource.entries(passingTest:)

callback cannot propagate synchronous failure

SCNPhysicsField.customField(evaluationBlock:)

callback cannot propagate synchronous failure

SIMD3.init(_:)

The containing type is outside the generated SDK type index.

SIMD3.init(_:)

The containing type is outside the generated SDK type index.

SIMD4.init(_:)

The containing type is outside the generated SDK type index.

SIMD4.init(_:)

The containing type is outside the generated SDK type index.

SCNPhysicsShape.init()

inherited init: cannot prove legal (class declares 3 custom initializers)

SCNAnimation.init()

inherited init: cannot prove legal (class declares 5 custom initializers)

SCNAnimationEvent.init()

inherited init: cannot prove legal (class declares 1 custom initializer)

SCNAnimationPlayer.init()

inherited init: cannot prove legal (class declares 1 custom initializer)

SCNTimingFunction.init()

inherited init: cannot prove legal (class declares 3 custom initializers)

SCNTechnique.init()

inherited init: cannot prove legal (class declares 2 custom initializers)

SCNSkinner.init()

inherited init: cannot prove legal (class declares 1 custom initializer)

SCNNode.init()

inherited init: cannot prove legal (class declares 1 custom initializer)

SCNAvoidOccluderConstraint.init()

inherited init: cannot prove legal (class declares 1 custom initializer)

SCNDistanceConstraint.init()

inherited init: cannot prove legal (class declares 1 custom initializer)

SCNIKConstraint.init()

inherited init: cannot prove legal (class declares 1 custom initializer)

SCNLookAtConstraint.init()

inherited init: cannot prove legal (class declares 1 custom initializer)

SCNReplicatorConstraint.init()

inherited init: cannot prove legal (class declares 1 custom initializer)

SCNTransformConstraint.init()

inherited init: cannot prove legal (class declares 2 custom initializers)