AR Foundation 2.1 Now Available

Hi everyone. After a long wait we are pleased to announce the availability of AR Foundation 2.1.0 as a preview package.

What’s New In AR Foundation?
This version is compatible with Unity 2019.1 and 2019.2 and contains support for the following new features:

2D Image Tracking
This feature lets you detect specific 2D images in the environment. The Tracked Image Manager automatically creates GameObjects that represent all recognized images. You can change an AR experience based on the presence of specific images. (ARCore & ARKit)

Face Tracking
You can access face landmarks, a mesh representation of detected faces, and blend shape information, which can feed into a facial animation rig. The Face Manager takes care of configuring devices for face-tracking and creates GameObjects for each detected face. (ARCore & ARKit)

3D Object Tracking
You can import digital representations of real-world objects into your Unity experiences and detect them in the environment. The Tracked Object Manager creates GameObjects for each detected physical object to enable experiences to change based on the presence of specific real-world objects. This functionality can be great for building educational and training experiences in addition to making games. (ARKit)

Environment Probes
This detects lighting and color information in specific areas of the environment, which helps enable 3D content to blend seamlessly with the surroundings. The Environment Probe Manager uses this information to automatically create cubemaps in Unity. (ARKit)

What About Unity 2018.3 Users?
Users of Unity 2018.3 must use AR Foundation 1.5.0 which is functionally equivalent to 2.1.0 but has different package dependencies. AR Foundation 2.1.0 is not compatible with Unity 2018.3.

New And Updated Platform Support Packages
In addition to the two new versions of AR Foundation there are updates to the packages to provide AR Foundation support for ARCore and ARKit.

  • ARCore XR Plugin (compatible with 2018.3 and later)
  • ARKit XR Plugin (compatible with 2018.3 and later)

A new package in the AR Foundation family is:

  • ARKit XR Plugin (compatible with 2018.3 and later)

This new face tracking package for ARKit should only be installed in projects that intend to use the Face Tracking capability in AR Foundation. Including this package in your project without indicating your intention to use Face Tracking in your ARKit app’s metadata can result in an App Store certification failure.

How To Get Started
As always, links to the documentation are available from the Package Manager window (Window > Package Manager) for all of these packages. The AR Foundation documentation is the best place to start for learning about the new workflows associated with these new features.

We have also added samples for the new functionality to the AR Foundation Samples repo on GitHub. Check out the new 2.1-preview branches for use with Unity 2019.1 and later. Unity 2018.3 users should use the the 1.5-preview branch.

Migrating An Existing AR Foundation 1.0 Project
The new release of AR Foundation has breaking API changes and automatic upgrade of AR Foundation 1.0 projects is unfortunately not feasible. However, we have created a guide to help make the transition from AR Foundation 1.0 to 2.x easier.

Let Us Know What You Think
This release was a long time coming because we wanted to get it right. We worked extensively with our UX team on the new workflows and went through several rounds of QA prior to publishing these packages.

But there will inevitably be bugs that you find and even desired functionality that we missed. We will be watching the forums closely to answer questions and help where we can. But please feel free to submit bugs via the Unity Issue Tracker as well.

Thank You
Thanks for being Unity customers, for your patience, and for the passion you have for creating great AR experiences with AR Foundation. We are busy adding workflow improvements, support for new platforms, and new functionality to existing platforms. We are heavily invested in the future of AR Foundation and hope it meets your needs as creators.

10 Likes

Awesome, will check it out! How do we handle LWRP now? Is the workaround of setting it to 5.6.1 still valid? Is it working with higher versions?

2 Likes

Great, glad more of AR Core is now integrated!

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


The same workaround still applies.

Good question! Check out these two branches if you are interested in using LWRP with this new version of AR Foundation:
https://github.com/Unity-Technologies/arfoundation-samples/tree/lwrp-support-2019.1-with-2.1
https://github.com/Unity-Technologies/arfoundation-samples/tree/lwrp-support-2018.3-with-1.5

And, yes: the workaround using the 5.6.1 version of the LWRP is still in play. We are working with our core graphics team to address that and will update the samples once the workaround is no longer necessary.

3 Likes

2 Likes

@mdurand Could we get a working link to the documentation? Also, when will ARExtensions come back out? Extremely important for most things.

Super excited about this! Thanks!

I just don't know what documentation I should be reading.
None of the links in the package manager are working in 2019.1.2f1.

Should I read the documentation for version 2.0 instead?
eg.
https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@2.0/manual/index.html
https://docs.unity3d.com/Packages/com.unity.xr.arcore@2.0/manual/index.html
https://docs.unity3d.com/Packages/com.unity.xr.arkit@2.0/manual/index.html

Sorry for my confusion.

1 Like

This is exciting news but both the documentation (error 404 as of May 16 !)am) https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@2.1/manual/index.html
and the migration guide need work.
For the latter it seems the only option is to scrap your existing 2.0 project and start from scratch.

1 Like

How to deal with missing XR.ARExtensions? We used it very often for camera permission checks.

@Saicopate Same. I downloaded the last one from : https://bintray.com/unity/unity-staging/com.unity.xr.arextensions/1.0.0-preview.8 dropped the assets into my project and changed a few name spaces to be UnityEngine.XR from UnityEngine.Experimental.XR and it seems to work

Excited!!!!! Is there any planned update of the foundations remote so it works?

1 Like

We have requested the docs publish but it always does lag behind the package publish a bit. Thanks for your patience.

ARExtensions has been factored away and will not be coming back. Now that the subsystem declarations are in C# and distributed via packages there is no need for declaring extension methods in ARExtensions. All of the functionality that had previously been added to ARExtensions has been folded into the subsystems themselves.

Makes sense? Please let me know if there is some aspect of ARExtensions you depend on that didn’t get included in the refactor.

-Best,
Mike

I’m curious what functionality you needed from ARExtensions. All of the functionality previously in that package is now folded into the refactored subsystem definitions. We don’t plan to ever publish another version of ARExtensions.

-Best,
Mike

We are working on the refactor of remoting and simulation but it is a large undertaking and will not be available in the near future.

-Best,
Mike

2 Likes

The camera permission checks are now part of the CameraSubsystem base class itself and not expressed through ARExtensions. You will not need and should not use ARExtensions with any version of ARFoundation 1.0.

Once the API docs are published it will be more clear but we will also modify the migration guide to make it clear that ARExtensions is no longer applicable.

-Mike

@mdurand Unity 2019.2 beta, running 2.1.0- preview -- None of the extension classes were working. Just downgraded to 2.0.2 and my extension methods are working fine now

Hi folks,

Just a couple clarifying points:

  • The ARExtensions package is no longer necessary (nor would it do anything with current ARFoundation). ARExtensions provided extension methods to the XR Subsystems (which ARFoundation talks to). Those extension methods are now simply part of the API, so ARExtensions is no more. In some cases you can simply remove using UnityEngine.XR.ARExtensions; and continue on. Some extension methods are now properties (they were methods in ARExtensions because C# does not support extension properties). Some type names also changed slightly (prefixed with XR, for instance).
  • Multithreaded rendering is now supported by the ARCore package. This was an ask by lots of teams and we forgot to mention it in the original post.
4 Likes

Looks like the documentation sites are live now :)

https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@2.1/manual/index.html
https://docs.unity3d.com/Packages/com.unity.xr.arcore@2.1/manual/index.html
https://docs.unity3d.com/Packages/com.unity.xr.arkit@2.1/manual/index.html

Yes; however, some of the links are broken, and some landing pages are incorrect:

ARKit: https://docs.unity3d.com/Packages/com.unity.xr.arkit@2.1/manual/com.unity.xr.arkit.html
ARSubsystems: https://docs.unity3d.com/Packages/com.unity.xr.arsubsystems@2.1/manual/com.unity.xr.arsubsystems.html
ARKit Face Tracking: https://docs.unity3d.com/Packages/com.unity.xr.arkit-face-tracking@1.0/manual/index.html

We’re working on fixing those.

1 Like