Version: 2020.3
Language : English
Overview
AR development in Unity

XR packages

The Unity packages that support XRAn umbrella term encompassing Virtual Reality (VR), Augmented Reality (AR) and Mixed Reality (MR) applications. Devices supporting these forms of interactive applications can be referred to as XR devices. More info
See in Glossary
development fall into two broad categories:

  • XR provider plug-ins: provider plug-ins enable support for XR devices and platforms. For example, the Apple ARKit plug-inA set of code created outside of Unity that creates functionality in Unity. There are two kinds of plug-ins you can use in Unity: Managed plug-ins (managed .NET assemblies created with tools like Visual Studio) and Native plug-ins (platform-specific native code libraries). More info
    See in Glossary
    allows ARAugmented Reality More info
    See in Glossary
    applications to run on the iOSApple’s mobile operating system. More info
    See in Glossary
    platform and the OpenXR plug-in allows applications to run on several VRVirtual Reality More info
    See in Glossary
    and MRMixed Reality
    See in Glossary
    systems.
  • Feature and tool support packages: these packages provide features and tools for developing XR applications.

XR provider plug-ins

The Unity XR plug-in framework provides the basis for XR development in Unity. You can add support for an XR device to a project by installing and enabling the relevant XR plug-in. You can add or remove plug-ins to the project at any time.

See XR Project set up for instructions on how to add XR plug-ins to your project using the XR Plug-in Management system.

Unity supports the following XR plug-ins:

Plug-in Supported devices
Apple ARKit iOS devices
Google ARCore Handheld Android devices
Microsoft HoloLens HoloLens, HoloLens 2
Windows Mixed Reality Microsoft supported package for HoloLens and Windows Mixed RealityMixed Reality (MR) combines its own virtual environment with the user’s real-world environment and allows them to interact with each other.
See in Glossary
headsets (various manufacturers). Note: This package is deprecated in Unity 2021+. Microsoft recommends using the OpenXR plug-in instead.
Magic Leap Magic Leap 1.

Note: Magic Leap 2 is supported by version 7.0+ of the Magic Leap package, which is available in Unity 2022+.
Oculus Oculus Rift, Meta Quest 2, Quest Pro
OpenXR Any device with an OpenXR runtime, including Meta headsets, Vive headsets, Valve SteamVR, HoloLens, Windows Mixed Reality, and others.
PlayStation VR (available to registered PlayStation developers) Sony PS VR and PS VR2 devices. See PlayStation Partners for more information.

See XR Platform System Requirements for system requirements for developing XR projects in Unity.

Notes:

  • One plug-in can support more than one type of XR device and more than one operating system.
  • Plug-ins for additional XR devices might be available from their platform creators or other third parties.
  • Unity does not directly support XR on WebGLA JavaScript API that renders 2D and 3D graphics in a web browser. The Unity WebGL build option allows Unity to publish content as JavaScript programs which use HTML5 technologies and the WebGL rendering API to run Unity content in a web browser. More info
    See in Glossary
    . Projects that add support for WebXR, such as Needle Engine, SimpleWebXR, and WebXR Export, are available.

XR support packages

Unity’s XR packages build on the XR plug-in framework to add additional application-level features and developer tools.

The XR packages include:

Package Description
XR Plug-in Management Adds Project SettingsA broad collection of settings which allow you to configure how Physics, Audio, Networking, Graphics, Input and many other areas of your project behave. More info
See in Glossary
for managing the platforms and plug-ins used by a Unity XR project. See Project setup for information about managing XR plug-ins.
AR Foundation Provides cross-platform AR features, such as plane detection, meshing, and object tracking. Required for developing AR applications with the Unity XR packages.
XR Interaction Toolkit Provides interaction components for adding controller-based interaction and manipulation, UI(User Interface) Allows a user to interact with your application. More info
See in Glossary
interaction, and movement. Supports VR, MR, and AR.
Unity Mars Provides components and tools for adapting AR content to the user’s surroundings. For example, it supplies a standard way of querying the environment to find suitable locations for adding your digital content to the sceneA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info
See in Glossary
. Requires a license that includes Unity Mars. See Unity Mars for information about license requirements.
XR Core Utilities Contains software utilities used by other XR plug-ins and packages. Typically installed in your project as a dependency of other XR packages.
XR Legacy Input Helpers. Contains software utilities related to XR input. This package is being phased out, but is still installed as a dependency by some XR packages.
Overview
AR development in Unity