Table of Contents Show
AR Frameworks are essential for building augmented reality software. Unless you really want to dive deep into the underlying maths of 3D reconstruction, tracking, rendering, etc.
Unity is a game engine. It provides functionality for displaying objects on the screen and interacting with them. Unity provides some AR-specific features, but AR is not its main purpose. It can be used for any game or other graphical applications.
Unity can be extended with frameworks or plugins. AR frameworks provide everything needed for creating AR apps:
- Rendering video background
- Detection and tracking of real-world objects
- Placement and rendering of virtual objects
AR Foundation
This is the in-house framework from Unity. ARFoundation offers cross-platform development of core AR features for iOS, Android, Magic Leap, and Hololens.
AR Foundation consists of several subsystems such as plane detection, image tracking, or object tracking. Not every platform supports all of these subsystems.
AR Foundation is a free plugin and provides enough features for many use cases.
https://unity.com/de/unity/features/arfoundation
ARCore
ARCore is the augmented reality API on Android devices. In Unity, ARCore is provided through ARFoundation. There is no native ARCore plugin for Unity anymore.
https://docs.unity3d.com/Packages/com.unity.xr.arcore@4.2/manual/
However, there is an extension for ARCore-specific features. This includes cloud anchors, camera configuration, and recording and playback.
https://developers.google.com/ar/develop/unity-arf/getting-started-extensions
ARKit
ARKit is the augmented reality API on iOS devices. In Unity, everything from ARKit is provided through ARFoundation. Important features are plane detection, image and object tracking, face and body tracking.
https://docs.unity3d.com/Packages/com.unity.xr.arkit@5.0/manual/
Vuforia
Vuforia offers typical AR features like image targets and plane detection. In addition, it’s possible to use model targets and area targets.
Model targets use the shape of objects for recognition. They are created based on a CAD model or a 3D scan.
Area targets use a 3D scan of environments like offices, factory floors, or museums. This enables augmentations of any stationary object inside the environment.
https://developer.vuforia.com/
VisionLib
VisionLib specializes on 3D object tracking, defined with CAD data.
It provides connections to other frameworks such as the MRTK or ARFoundation.
MRTK
The Mixed Reality Toolkit for Unity addresses the development for AR headsets. It supports the Microsoft Hololens and Windows Mixed Reality headsets, and also Quest headsets and mobile devices.
The features are a bit different than for mobile AR frameworks: Hand tracking, eye tracking, controller input, 3D reconstruction of the environment. It also contains a wide range of UI elements.
https://learn.microsoft.com/en-us/windows/mixed-reality/mrtk-unity/mrtk2
Lightship ARDK
The main benefit of the lightship ARDK is the combination with the mapping SDK. This allows location-based AR similar to Pokemon Go.
Unity MARS
MARS – Mixed and Augmented Reality Studio – is an authoring framework for AR. It provides templates and simpler workflows without needing to code. Internally, it uses AR Foundation for creating the apps.
Unity Mars requires a Unity Pro license or separate license costs for other Unity tiers.
https://unity.com/products/unity-mars
Zapworks
With Zapworks you can build for iOS, Android, and WebGL. The framework provides image targets, plane detection, and face tracking.
https://zap.works/universal-ar/unity/
Snapdragon Spaces SDK
Snapdragon Spaces is a new framework for headworn devices. It provides spatial anchors, interaction techniques like gaze or hand tracking, and 3D reconstruction of the environment.
https://docs.spaces.qualcomm.com/common/setup/QuickStartGuide.html