Version: 2020.1
UDP troubleshooting
Getting started with AR development in Unity


New to XR development? Start here.

XR is an umbrella term that includes the following types of applications:

  • Virtual RealityA system that immerses users in an artificial 3D world of realistic images and sounds, using a headset and motion tracking. More info
    See in Glossary
    (VR): The application simulates a completely different environment around the user.
  • Mixed Reality (MR): The application combines its own environment with the user’s real-world environment and allows them to interact with each other.
  • Augmented Reality (AR): The application layers content over a digital view of the real world.

Officially supported platforms

Unity works closely with strategic partners to make sure that creators have all the support they need when developing content for Unity’s supported platforms. This involves deep platform integration, Unity engine improvements, and XR tech stack optimizations for each platform.

As of 2019.3, Unity officially supports these platforms for XR:

  • ARKit
  • ARCore
  • Microsoft HoloLens
  • Windows Mixed Reality
  • Magic Leap
  • Oculus
  • PlayStation VR

Note: Valve and Google have used Unity’s XR SDK to develop their own plug-insA 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
for OpenVR and Cardboard, respectively. These plug-ins are compatible with Unity 2019.3 and later. For more information, see the Getting started with VR development page.

Unity XR plug-in framework

Unity has developed a new plug-in framework called XR SDK that enables XR providers to integrate with the Unity engine and make full use of its features. This plug-in based approach improves Unity’s ability to make quick bug fixes, distribute SDK updates from platform partners, and to support new XR devices and runtimes without having to modify the core engine. To learn more about:

Deprecation of built-in XR platform integrations

In 2019.3, Unity transitioned to a new plug-in framework to support XR platform integrations. As a result, built-in XR platform integrations have been marked as deprecated. These integrations are still available for use in 2019.3 and will remain functional in 2019.4. Unity will not be developing any new features for these integrations, but will continue to offer essential bug fixes.

The built-in integrations and their corresponding documentation are listed below:

Note: (1) The Vuforia Engine built-in packageBuilt-in packages allow users to toggle Unity features on or off through the Package Manager. Enabling or disabling a package reduces the run-time build size. For example, most projects don’t use the legacy Particle System. By removing the abstracted package of this feature, the related code and resources are not part of the final built product. Typically, these packages contain only the package manifest and are bundled with Unity (rather than available on the package registry).
See in Glossary
(Vuforia Engine AR) will no longer be natively distributed and directly supported by Unity as of 2019.3. You will continue to be able to download new versions of Vuforia Engine for Unity via the Vuforia Developer Portal.

AR development in Unity

The AR overview page details how to get started with creating an ARAugmented Reality (AR) uses computer graphics or video composited on top of a live video feed to augment the view and create interaction with real and virtual objects.
See in Glossary
application, lists the packages you need to download, and offers related links to additional documentation. Unity recommends downloading the AR Foundation and XR Management packages to create your application for Unity’s supported handheld and wearable AR devices.

VR development in Unity

The VR overview page details how to get started creating a VR application, lists the packages you need to download, and offers related links to additional documentation. To start, Unity recommends downloading the XR Management and XR Interaction Toolkit (Preview) packages to create your application for Unity’s supported VR devices.

Unity Package Manager

Most of Unity’s XR functionality is available in packagesPackages are collections of assets to be shared and re-used in Unity. The Unity Package Manager (UPM) can display, add, and remove packages from your project. These packages are native to the Unity Package Manager and provide a fundamental method of delivering Unity functionality. However, the Unity Package Manager can also display Asset packages that you downloaded from the Asset Store. More info
See in Glossary
, which you install through the Package Manager (from Unity’s main menu, go to Window > Package Manager). The Package Manager window displays detailed information about each package.

Note: To view preview packagesA preview package is in development and not yet ready for production. A package in preview might be at any stage of development, from the initial stages to near completion.
See in Glossary
, click the Advanced drop-down menu in the Package Manager window, and select Show Preview Packages.

For a comprehensive list of packages to download, refer to the AR overview and VR overview pages.

API usage examples

Thie AR Foundation Samples GitHub repository contains examples of how to use Unity’s AR Foundation APIs.

Additional Unity resources

UDP troubleshooting
Getting started with AR development in Unity