Getting started with RealityKit

Part 0: A high level intro to the latest AR framework

Before WWDC19, myself and other Augmented Reality (AR) enthusiasts were anticipating many updates to SceneKit to come along with some shiny new ARKit features; however this was not the case.

Instead Apple decided to create a whole new framework to implement AR, and dubbed this new framework RealityKit. Here we have a whole new rendering engine, made from the ground up with AR not just in mind, but as the top priority. Although there may be some features missing; with this as v1.0 I have high hopes that this will become the standard for high-performance AR. Due to the name I also believe it could be intended for use with both Augmented and Virtual Reality, but I have yet to see any evidence for this.

I started looking into RealityKit right from the start, however there’s currently limited materials out there helping people to find their feet, both if someone who is new to AR or is coming from other AR Frameworks, such as SceneKit. This collection of articles aims to get you started with understanding the new format of creating AR content programmatically with RealityKit, with new articles coming out as I use the features.

2020

To see what was changed with RealityKit during WWDC 2020, refer to this story:

The Collection

If you want to skip ahead and see code examples without support material; take a look at this repository below. In this repo I’m adding the new features together into a use-case, a game. Similar to one that Apple showed off at WWDC19, for which they have yet to release the code for.

If you have any suggestions of better methods of implementing Apple’s new framework, I encourage you to open a Pull Request on the above repository so everyone can benefit!

If you’ve enjoyed this article and want to see more in this RealityKit series follow me for updates or check out my Twitter. Also be sure to tap the 👏 button (you can do this 50 times 😱)

Excited about all things Augmented Reality! Developer Evangelist at Agora.io.