My team spent some time with Apple’s ARKit just to understand it’s place in the ecosystem and play a little. BOOM. Our minds were blown with how easy yet powerful it was as we explored the possibilities. While it’s still Beta software and has some growing pains to work out, here are our lessons learned that we’d like to share with the ecosystem.
1. Unity integration is simple.
We haven’t played with the XCode path yet, but most AR / VR developers that we know are primarily Unity or Unreal developers, so we tested with Unity. Turns out the Unity integration is as simple as having two special GameObjects with three ARKit MonoBehaviours, and almost anything already created for Unity drops right in.
2. Update your development software.
XCode Beta 3 experienced tracking crashes with the Unity ARKit plugin from the Asset Store at first, but it was patched shortly afterwards. Make sure any existing projects update to the latest rev of Unity ARKit plugin if experiencing issues.
3. Watch for the “Camera Usage Description”.
This one’s easy to keep forgetting, but make sure you enter some text in the “Camera Usage Description” field under “Other Settings” in Unity for the iOS-specific Player Settings. If you don’t do this, your app will frustratingly crash on launch as a security issue, often without explaining why. Whatever text you enter will show up when your iPhone asks you for camera permissions, so make sure it sounds more informative during actual deployment, vs “Cool AR Stuff”.
4. Get an iPhone SE.
It’s highly recommended to install Beta software on a device that isn’t also your primary phone. Well, it turns out the min-spec needed to run ARKit is an iPhone SE. While $399 retail, we’ve seen it for $159 / $199 at Best Buy locked to prepaid cell services such as Simple Mobile or even AT&T. Its form factor is iPhone 5 compact, and maintaining global compatibility with all ARKit-enabled iOS devices will offer the widest reach for your apps.
5. Use the ReplayKit framework.
Playing with ARKit is fun, but it’s even better to share what you’re doing with the world. Apple’s ReplayKit is natively compatible in Unity 5.6. We’ve seen issues where “Save” in the save sheet doesn’t actually save the video, so we select the “Share” button and tap on “Save Video” at the bottom to ensure we don’t lose the augmented goodness we just captured. Hopefully it’s just a Beta issue and works in the final.
Screen Recording is also a fancy new iOS 11 way to record your screen, but it doesn’t pull audio from the mic as ReplayKit allows, and we recommend mic capture for the full Augmented Reality experience.
Thoughts on ARKit
We’ve seen many dazzling videos as promoted by folks at VRScout and MadeWithARKit. There’s a subreddit we recommend as well, /r/ARKitCreators.
I recently said that “We still need to conquer Virtual Reality to get to Augmented Reality”. While I’m finding that ARKit is bringing Augmented Reality into our future much sooner than I’d anticipated, I still believe that those who already understand VR development are well-suited to immediately adapt to the AR world. Even those who don’t have access to ARKit hardware can learn Unity now using VR to explore the nuances of working with immersive content, making ARKit a very easy transition.
I’m excited for this new world that Apple is opening up, and will be posting some of my own experiments onto my Twitter to understand the possibilities better. Feel free to connect with me on LinkedIn if you want to talk shop.
UPDATE: Created an ARKit creators slack channel. Joi