SceneKit was perfect to import 3D assets directly into our app scene. Since it's soft deprecation and the coming out of RealityKit, tutorials or documentation on how to bridge old possibilities are missing, everything seems to be about AR.
More specifically, I am not able to find any resources on how to create a scene, load 3D assets, add a light and a camera, and everything within the app itself. No augmented reality.
Is it intended to add some support about this? Any guidance would be appreciated.
Hi @_lrmathias
RealityKit supports the "just embed a 3D scene in my app" use case. No ARKit required.
Start here: the SceneKit to RealityKit migration guide
- Bringing your SceneKit projects to RealityKit. Side-by-side mapping of
SCNScene,SCNNode,SCNCamera,SCNLight, materials, and animations. - WWDC25: Bring your SceneKit project to RealityKit. Companion session to the article above. The single most relevant resource for your exact question.
Other on-point WWDC sessions
- WWDC26: Explore advances in RealityKit.
- WWDC25: What's new in RealityKit.
- WWDC25: Better together: SwiftUI and RealityKit. Composing 3D scenes inside a SwiftUI app.
- WWDC24: Discover RealityKit APIs for iOS, macOS, and visionOS. Cross-platform, covers lights, shadows, hover effects.
Authoring scenes with Reality Composer Pro
Reality Composer Pro lets you build scenes (entities, lights, materials, cameras) visually and load them into your app with Entity(named:). The "AR" branding is misleading; the output works in any RealityKit context.
- WWDC26: Iterate your spatial scenes faster with Reality Composer Pro 3.
- WWDC26: Supercharge your spatial workflows with Reality Composer Pro 3.
- WWDC26: Design no-code games with Reality Composer Pro 3. Wiring up scene logic without writing code.
- WWDC26: Extend Reality Composer Pro 3 functionality with Xcode. Custom components and systems.
- WWDC24: Compose interactive 3D content in Reality Composer Pro.
Hosting the scene (the SCNView replacement)
RealityView. SwiftUI view for embedding a RealityKit scene.Model3D. Drop a USDZ into a SwiftUI layout like anImage.
Loading 3D assets (the SCNNode replacement)
Entity. UseEntity(named:)orEntity(contentsOf:).- Loading entities from a file.
Cameras and lights
- Lights and cameras. Covers
PerspectiveCameraComponent,OrthographicCameraComponent, and the directional, point, spot, and IBL light components. CameraControls. Built-in orbit, pan, tilt, and dolly gestures.- Applying realistic material and lighting effects to entities.
Sample code (non-AR, in-app 3D)
- Creating a Spaceship game. Full non-AR game, the closest analogue to a classic SceneKit app.
- Composing interactive 3D content with RealityKit and Reality Composer Pro.
- Manipulating models with RealityKit.
Offscreen / custom Metal rendering (the SCNRenderer replacement)
RealityRenderer. Render to a Metal texture with no view at all.
Two filtering tips
- Filter the docs: Open the RealityKit landing page and use the sidebar filter at the top. Type a topic ("lights", "camera", "model") and toggle to Sample Code or Articles to view.
- Filter WWDC sessions: Visit the WWDC videos page, pick a year, and apply the Graphics & Games and Spatial Computing topic filters. Most of the relevant non-AR RealityKit content lives there.
If something is missing
If there's specific documentation or sample code you'd like to see, please file a feature request via Feedback Assistant.