Choosing a SpriteKit Scene Renderer
Compare the different ways to display a SpriteKit scene.
To display SpriteKit content in a watch app, you use
WKInterfaceSKScene, whereas on iOS, macOS, and tvOS, you use
SKView to display a SpriteKit scene. If you need to mix SpriteKit with any custom Metal content, use
Important: SKRenderer is not available on watchOS.
On iOS, tvOS, and macOS, Draw Using a View or a Renderer
Choose from the options below to display SpriteKit content on iOS, tvOS, or macOS.
Draw Using a View
To draw SpriteKit content the most common way, set up an
SKView and set its
scene property. See
Drawing SpriteKit Content in a View for an example of using SKView.
Draw Using a Renderer
When you want to mix SpriteKit content with your own Metal content, use
SKRenderer to draw your
SKScene. You might use SKRenderer to replace specific portions of a SpriteKit app with custom Metal code, or vice versa. SKRenderer combines the full control of Metal with the ease of use of SpriteKit and its library of useful objects.
For example, to take full control of just your game’s tiled background while using SpriteKit to draw the rest, use an SKRenderer and MTLView combination instead of SKView, and then write the tiled background code yourself in Metal.When you’re ready to mix the SpriteKit content with the Metal content, you call SKRenderer’s
render(withViewport:commandBuffer:renderPassDescriptor:). Finally, call
present(_:) on a Metal view when you’re ready to present a frame.
On watchOS, Draw Using an Interface Scene
To display SpriteKit content on Apple Watch, you create a
WKInterfaceSKScene and then set its
scene property. WKInterfaceSKScene functions much like SKView, but without the debugging visualization options.