Experimenting with ARKit

My first impressions developing with ARKit in Unity

Based on the Blender models I put together last week I decided to play around with Apple’s new ARKit. It’s still a very early prototype, but I decided to put a quick video together below.

The prototype is based on the ARKit Unity Plugin and the video is a recording made with a regular 2017 iPad. Getting up and running was not too hard based on the samples provided as part of the Unity plugin.

The occasional mishap aside, the quality of the tracking is quite impressive, as long as the environment has enough feature points. It takes a notable bit of time for the tracking to boot up and detect the horizontal plane after the app opens, around 10 to 15 seconds. In a production app, that will require a bit of subtle handholding of the user to guide them to getting things running properly.

Really my only major negative comment is fundamental to mobile AR. Because the camera of the iPad is all the way in the corner on the back of the device, the video image is offset significantly to the real world. A camera right in the middle of the backside of the iPad would give a much more convincing result, but unfortunately would not be practical for other obvious reasons.

This effect is increased because you are not likely to always keep the iPad directly aligned between your eyes and the place in the world. Quite often it’s a bit lower with the iPad at angle.

The result of these things is that you end up looking solely at the screen of the iPad and to a large degree you lose the sense of direct connection with the world behind it. It doesn’t come close to the sense you get with a HoloLens of objects really being in the world, but as said, that’s unfortunately fundamental for mobile AR.

Mobile AR limitations aside, I’m very impressed by how good ARKit works for what it intends to achieve! Apple and Unity have made it very easy to work with, taking care of some of the very hard parts so it’s possible to focus on building interesting experiences based on the foundational technologies.

There’s still a lot to do to turn this into a proper demo, including decent lighting, rotation of the board and selection, rotation and deletion of the figures. Once that is in place, a few areas of polish include the buttons, app icon, etc. If I find the time to pick it up again, I’ll be sure to post an update.

About me: I’m freelancer based at VRBASE in Amsterdam working on VR/AR/MR projects, sometimes as a developer, sometimes as a technical project manager. If you want to get in touch, drop me an email at technology@siekerman.nl or contact me through LinkedIn.