ARCore Extensions for AR Foundation v1.37.0
Known issues
- #1573: On certain devices, enabling 60FPS mode causes the tracking to become unsynchronized with the camera feed. The 60FPS mode has been temporarily disabled on these devices and will not appear in supported camera configurations.
New APIs and capabilities
Geospatial Creator
Geospatial Creator helps you visualize where in the world you want to place your content and helps you place your 3D assets at that location in the Unity editor. Select a location to get the 3D geometry at that location, and fly through the space as you would on Google Earth, powered by the Google Maps Platform Map Tiles API. Then, anchor content to the scene using Geospatial anchors; no additional steps are needed for identifying latitude, longitude, elevation or rotation quaternion of the selected location anymore.
See Geospatial Creator in ARCore Extensions for Unity for more information.
Scene Semantics
Scene Semantics provides richer details about the surrounding scene, making it easier to understand the world around the user. Scene Semantics runs an ML model on the camera image feed and provides a semantic image with each pixel corresponding to one of 11 labels of outdoor concepts.
Scene Semantics is currently only available on the Android target platform.
See Introduction to Scene Semantics for more information.
Streetscape Geometry
Streetscape Geometry is a new ARCore Geospatial API that provides the geometry of buildings and terrain in an area around the user when the Geospatial API is enabled.
See Streetscape Geometry Developer Guide. Additionally, the Geospatial sample has been updated to include Streetscape Geometry.
ARStreetscapeGeometryManagerARStreetscapeGeometryARRaycastManagerExtensions.RaycastStreetscapeGeometry()
Rooftop Anchors
Rooftop anchors are a new Geospatial anchor type that helps you anchor content to a rooftop.
See Geospatial anchors for more information. Additionally, the Geospatial sample has been updated to include Rooftop anchors.
ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync()provides an anchor for game objects in your scene at the specified latitude, longitude, altitude above the rooftop, and orientation.ResolveAnchorOnRooftopPromiseResolveAnchorOnRooftopResult
ARCore async APIs
This release introduces new ARCore async APIs to improve ergonomics when working with asynchronous operations, following the Promise paradigm.
- Resolving Terrain anchors: Use
ARAnchorManagerExtensions.ResolveAnchorOnTerrainAsync()to obtain aResolveAnchorOnTerrainPromise. The old symbolARAnchorManagerExtensions.ResolveAnchorOnTerrain()has been deprecated and may be removed in a later version of ARCore. - Resolving Cloud anchors: Use
ARAnchorManagerExtensions.ResolveCloudAnchorAsync()to obtain aResolveCloudAnchorPromise. The old symbolARAnchorManagerExtensions.ResolveCloudAnchorId()has been deprecated and may be removed in a later version of ARCore. - Hosting Cloud anchors: Use
ARAnchorManagerExtensions.HostCloudAnchorAsync()to obtain aHostCloudAnchorPromise. The oldARAnchorManagerExtensions.HostCloudAnchor()symbols have been deprecated and may be removed in a later version of ARCore.
Deprecations
ARAnchorManagerExtensions.HostCloudAnchor(ARAnchor)andARAnchorManagerExtensions.HostCloudAnchor(ARAnchor, int)have been deprecated. UseARAnchorManagerExtensions.HostCloudAnchorAsync(ARAnchor, int)instead.ARAnchorManagerExtensions.ResolveCloudAnchorId(string)has been deprecated. UseARAnchorManagerExtensions.ResolveCloudAnchorAsync(string)instead.CloudAnchorState.TaskInProgresshas been deprecated. When using async Cloud Anchor APIs, usePromiseState.Pendinginstead.ARCloudAnchor.cloudAnchorIdhas been deprecated. When using async hosting, useHostCloudAnchorResult.CloudAnchorIdinstead.ARCloudAnchor.cloudAnchorStatehas been deprecated. When using async hosting or resolving APIs, useHostCloudAnchorResult.CloudAnchorStateorResolveCloudAnchorResult.CloudAnchorStateinstead.ARAnchorManagerExtensions.ResolveAnchorOnTerrain(double, double, double, Quaternion)has been deprecated. UseARAnchorManagerExtensions.ResolveAnchorOnTerrainAsync(double, double, double, Quaternion)instead.TerrainAnchorState.TaskInProgresshas been deprecated. When using the async API to resolve a terrain anchor, usePromiseState.Pendinginstead.ARGeospatialAnchor.terrainAnchorStatehas been deprecated. When using the async API to resolve a terrain anchor, useResolveAnchorOnTerrainResult.TerrainAnchorStateinstead.AREarthManager.CheckVpsAvailability(double, double)has been deprecated. UseAREarthManager.CheckVpsAvailabilityAsync(double, double)instead.
Bug fixes
- Fixed a bug when converting to and from
EunRotationwhere poses would be rotated the wrong way around. AllEunRotationfunctions and utilities now use EUN quaternions as documented.