What is ARKit?

What is ARKit?

ARKit is Apple's framework that was announced at the Worldwide Developers Conference (WWDC) 2017 alongside iOS 11. It utilizes the device's hardware and software features, such as device’s camera, motion sensors, motion tracking etc to build a seamless augmented reality (AR) experience. This API is currently supported on devices with Apple's A9 processors or later. Since its inception, it has been updated every year.


History

At the time of ARKit’s introduction, apps such as Pokemon Go and Snapchat was at its peak, utilizing a creative way of integrating AR to its millions of users whether through literally catching a Pokemon in the wild or the use of fun and interactive face filters on your front/back camera that you could share to back and forth to your friends. With the intention of making an AR app easier for developers to develop, Apple introduced ARKit and here are some of the features they released throughout the years.

ARKit 1

  • Motion tracking
  • Plane estimation with basic boundaries
  • Ambient lighting estimation -  this is the enhancement of your virtual objects to better blend with the real world in AR.
  • Scale estimation
  • Support for Unity, Unreal, SceneKit
  • Xcode app templates - enables the developers to have an access with pre-existing code templates that they don’t have to do from scratch when creating an AR app.

ARKit 2

  • Shared experiences - allows multiple users to see a single AR session and interact on it.
  • Persistent AR - enables the virtual object to stick on a particular place, which you could return into.
  • Image detection and tracking - ability to add reflections of the real world to AR objects.
  • QuickLook - enables the users to simulate how a particular object will look like in to the real world.

ARKit 3

  • People Occlusion - this makes it possible to for AR objects to appear either in front or behind humans.
  • RealityKit - a framework that renders 3D content to integrate it with the real world.
  • Reality Composer - an application that enables you to create AR experiences additionally you can also add your own 3D models to it for use.
  • Motion Capture - ability to mimic a person’s movement thru a virtual object.
  • Guided plane detection and improved accuracy
  • Simultaneous front and back camera session

ARKit 4

  • Location anchors - allows AR experiences based on a physical location.
  • Scene geometry - with the help of supported devices that has LIDAR, ARKit can create a topological map of the real world.
  • DepthAPI - with the help of the LIDAR sensor ARKit can now provide a dense depth image. Which essentially enables you to detect whether the virtual object is closer to the camera or not.
  • Object placement - with the advancement made during ARKit 3 and the introduction of raycasting to make easier object placement, precision and speed is now further improved because of LIDAR with ARKit 4.
  • Face tracking

ARKit 5

  • Location anchors improvements
  • App clip code - similar as to how QR codes work but in this case once an app clip code is scanned thru the device's camera it will trigger a virtual object to appear.
  • Extended face tracking support
  • Improved motion capture can now detect more gestures and poses. Accuracy is also improved

ARKit 6

  • 4k video mode
  • Camera enhancements - ability to take high resolution photos while in an AR session which can then be used for Object Capture.
  • Object Capture - is the process of taking high-res photos and turning it into a 3D model.
  • Plane anchors - improves the orientation of a virtual object even the user moves away from the subject.
  • Improved motion capture