Unity has always been at the forefront of handheld AR development and we’ve supported ARCore and ARKit from the start. But with AR Foundation and the software architecture it leverages, we can now offer developers a common API which supports core functionality for ARCore, ARKit, and future platforms.
AR Foundation is integrated with Unity via the Package Manager, so it’s easy to integrate into your new projects. We are focused on adding support for new features and platforms into AR Foundation. At the same time, we’ll continue to support the platform-specific plugins developers may be using in existing projects.
We’re optimistic about the future of both handheld AR and wearable AR and will continue investing in platform support and developer tools as the technology evolves and the market for AR grows.
AR Foundation features
This initial release of AR Foundation provides support for the core functionality of most AR apps:
- Planar surface detection
- Depth data represented as point clouds
- Performant pass-thru rendering
- Reference points to aid in anchoring virtual objects to the physical world
- Estimates for average color temperature and brightness
- Tracking device position and orientation in physical space
- Utilities for scaling content properly in AR
- Raycasting against plane and depth data
And this feature set is just the beginning. AR Foundation will evolve to provide access to new platform features and helpful utilities while maintaining backward compatibility.
- Make sure that you have installed Unity 2018.1 or higher. If you are targeting Android be sure to have the Android Build Support Component installed and if you are targeting iOS be sure to have the iOS Build Support Component installed.
- Clone the arfoundation-samples GitHub repository and checkout the master branch. This project automatically installs the following required packages: AR Foundation, ARCore XR Plugin, and ARKit XR Plugin.
- Open SampleScene.unity and deploy to a compatible Android or iOSdevice.
The sample scene establishes an AR session, renders the camera image as background, displays depth and plane data, and performs ray-casts in response to screen touches. It’s a great starting point for building your own apps based on AR Foundation. See the documentation for more details on these and other features.