Search Unity

XR on iOS and macOS

At the heart of everything we do here at Unity is the fundamental belief in the democratization of development — with every announcement around VR/AR, we hope to see more and more developers join us in making their creative vision a reality.

Today at WWDC, Apple announced its AR debut on iOS and its VR debut on macOS. This enables developers to bring their environment to life with Unity’s integration of ARKit for iOS and the ability to edit 360˚ video and create cutting-edge VR content for macOS. We are thrilled to be collaborating with Apple on this significant next step in broadening the ecosystem and ensuring the XR industry is more accessible to more communities.

Available today is an experimental build of Unity for VR content creation and an open source bitbucket project for ARKit. See below for steps on how to get started.

As you have come to expect of Unity’s VR and AR offering, you can rapidly iterate on content creation and test your XR experiences directly within the Mac version of the editor. With the VR experimental build you are free to publish to the app store with High Sierra. We have been working with a small group of developers to test out the experience:

“With almost no effort besides upgrading my project to the latest Unity build, I was able to get a surprisingly well-performing macOS port of my PC VR game.”

“Overall, the porting of Space Pirate Trainer to macOS with Unity went very smooth. We had it running on macOS under a couple of hours. I previously had some concerns about Metal support, but Unity and Apple made the whole process pretty straightforward. Metal support has been hugely optimized in these past weeks and months and most of our custom shaders were supported out-of-the-box, while we never had Metal in mind while creating those shaders. Great job Unity, Valve and Apple!”

Unity editor on macOS with Space Pirate Trainer from I-Illusions in VR Mode

For this experimental build, we have worked with Apple and Valve to optimize Metal 2 to run against our current VR rendering paths, Multi-Pass and variants of Single-Pass. For the final release, we’re excited to gain extra performance by making use of the new Metal 2 features announced at WWDC and combine them with the use of instancing, essentially halving the draw calls required.

Getting Started with macOS VR

We want to encourage all of you interested in getting started to try out the experimental build and provide feedback on our forums. This helps us find bugs and ensure the highest quality software. As with all experimental builds of Unity, be sure to back up your project before you upgrade!

Download Unity’s Experimental build (which includes the option to enable VR and adds the OpenVR as a VR target) at the forum we’ve createdhere, which includes links to the latest builds and support from your fellow developers.

VR development requires macOS High Sierra. This version includes a number of driver and Metal optimizations to get the most out of your hardware.

As is always the case with virtual reality, the hardware you have available will dictate the experiences you can create. Radeon Pro 500 series graphics is recommended for 3D VR content.

Getting Started with ARKit

A bitbucket repo is live with ARKit Support. See the Unity iOS forum for further details.

The Unity plugin will provide developers with friendly access to ARKit features like world-tracking, live video rendering, plane estimation and updates, hit-testing API, ambient light estimation, and raw point cloud data.

All the features exposed by the ARKit are available from the C# scripting API within Unity. There are also Unity Components for easy integration of these features with existing Unity game projects. Please see the README.md file in the bitbucket repository for more info.

Unity’s AR Kit requires Unity 5.6.1p1 or later. It is also compatible with the Experimental VR build above

Requires iOS 11 or later

Requires XCode 9 beta or later, with iOS SDK that includes ARKit Framework

20 Comments

If anyone has been trying to get the Openvr library/bundle working directly with unity (vr support disabled) and getting stuck with the (possibly sandboxing) issue VRInitError_Init_PathRegistryNotFound, this problem goes away with this mac build. (the openvr_api.cs finds the lib bundled with unity and happily loads)

Forgot to say; fantastic job on making this, I loaded up Woeful Woebots in Unity and built for Mac without a single build error in just a few hours on a ancient Macbook Air from 2012. So happy to be a Unity user with sort of extraordinary platform support.

As long as you have High Sierra you should be able to get up and running with a very simple scene, however on a older laptop with much lower end GPU you would be unable to run complex scenes. Can’t hurt to try but expect you might be dropping a lot of frames so the VR experience may not be comfortable.