ARDK 2.0.0 Release Notes 2022-05-17

What’s New

  • [VPS] Lightship VPS lets you synchronize your device with real-world locations by locating and understanding real-world VPS Wayspots. Use Lightship VPS to create immersive AR experiences that use shared and/or persistent AR content in the real world that your users can find and interact with. Lightship VPS is in beta release and includes the following features:

    • VPS Wayspot Anchors: A Wayspot Anchor is a “spatial bookmark” that ties a piece of AR content to a specific location so that it will persist over time. Wayspot Anchors can be created or recalled after localizing at a VPS-activated Wayspot with Lightship VPS. See the documentation for Lightship VPS for full details on working with Wayspot Anchors.

    • VPS Coverage API: Use the VPS Coverage API to discover coverage areas for VPS-activated Wayspots and help your users localize with them. See the documentation for Lightship VPS for full details on working with the VPS Coverage API.

    • New sample scenes added to ARDK-Examples for VPS features: VpsCoverageExample, VpsCoverageListExample, WayspotAnchors

Note

ARDK 2.0 contains API deprecations and breaking changes, listed below. Please review these changes below before upgrading.

  • [Developer Platform] ARDK now supports the User ID field and Client ID field. User IDs help Niantic support you in maintaining data privacy best practices and allows you to understand usage patterns of features among your users. The Client ID is provided as a fallback in case your app cannot support User IDs. For more details on User IDs and Client IDs, see the documentation and the ARDK Data Privacy FAQ.

  • [Developer Platform] New Niantic.ARDK.Utilities.Permission.PermissionRequester class for handling device permission requests. Provides both async and callback methods for getting the result when the permission request executes.

  • [Developer Tools] Adding compatibility for both old and new Unity input systems and organizes the input files accordingly. Changing the mock camera to support both Unity input systems

Improvements

  • [Basic AR] BaseAnchors have been renamed to BasicAnchors for better legibility

  • [Contextual Awareness] ILocationService updates to support VPS. Use LocationServiceFactory to create ILocationService instances. New LatLng class and SpoofLocationService methods added to make spoofing location movements easier.

  • [Developer Platform] Developers using Unity 2020 on M1 Macs no longer need to apply a special ARDK patch. You may still encounter a crash with Unity when you first import ARDK, but this should only happen once, and re-opening your Unity project should work successfully.****

  • [Developer Tools] Adding UI and workflow for adding MockImageAnchors to GameObjects

  • [Developer Tools] ARDK-examples now have the default Android build settings that build for API level 30. However, when building you will still need to update your project’s AndroidManifest.xml as described in “Building for Android 11” in the Build for Android guide.

  • [Developer Tools] Added either public properties or methods to get/set fields in all manager components previously only editable in the Inspector

  • [Developer Tools] Renamed the top level ARDK Unity menu item to Lightship

Bug Fixes

  • [Contextual Awareness] Resolves warning from shader when ARDK is imported into a project. The warning is resolved by updating the shader function logic to have a single point of exit.

  • [Contextual Awareness] Fixed issue in Gameboard example scene where creature was incorrectly walking to waypoints that should have been jumped to.

  • [Developer Platform] Users do not need to manually switch the config being used in the ArdkGlobalConfig class.

Deprecations

  • [Basic AR] IARFrame.Serialize() has been removed. Please use _ARFrameFactory._AsSerializable() instead.

  • [Contextual Awareness] DepthMeshOcclusionEffect has been removed and functionality has been moved to DepthMeshOccluder and ARDepthManager

  • [Contextual Awareness] Sampling and fitting methods on ISemanticBuffer have been moved to the SemanticSegmentationManager and AwarenessBufferProcessor

  • [Contextual Awareness] ARCameraFeed and ARCameraRenderingHelper functionality has been moved to ARRenderingManager

  • [Contextual Awareness] ARRecorder has been deprecated in favor of ARCapture

  • [Developer Platform] ITargetableRenderFeatureProvider has been moved to IRenderFeatureProvider, obsolete methods removed from ISemanticBuffer, ARFrameRendererFactory

  • [Developer Platform] ARDKAuthRegistrar has been removed

  • [Developer Platform] ArdkGlobalConfig.VerifyApiKeyWithFeature has been removed

  • [Developer Platform] Deprecated Niantic.ARDK.Extensions.Permissions.AndroidPermissionManager. Use Niantic.ARDK.Utilities.Permission.PermissionRequester instead

Breaking Changes

  • [Contextual Awareness] Removed ARCameraFeed and the ARCameraRenderingHelper, which were deprecated when the new ARFrameRenderer (and ARRenderingManager and ARVideoFeed extensions) were introduced. See the Release Notes for ARDK 1.0 (available on the docs site) for a guide on how to switch projects from using ARCameraFeed + ARCameraRenderingHelper to the new rendering APIs.

  • [Contextual Awareness] Removed obsolete DepthPointCloudGenerator.Settings properties. Replaced IARWorldTrackingConfiguration.DepthPointCloudSettings with IARWorldTrackingConfiguration.IsDepthPointCloudEnabled property.

  • [Developer Tools] Removed uses of Playback, which was a fully experimental/unsupported API.

Known Issues

  • [Contextual Awareness] Call to SemanticsProcessor.GetChannelNamesAt() takes ~0.1 ms which adds up when sampling multiple pixel locations

  • [Contextual Awareness] Plane Anchors sample: White cubes appear grey in color

  • [Developer Platform] On Unity 2020 on an M1 Mac, you may encounter a crash the first time you import ARDK. Re-open Unity to access your project. The crash should only occur once, and you do not need to apply any ARDK patch.

  • [Developer Platform] A Niantic.ARDK.Internals.StartupSystems.SetAuthenticationParameters error may show in the Unity editor if your API license key in your ArdkAuthConfig is empty.

  • [Shared AR] Frame drops can be observed in networking sample when user taps on ‘Toggle Log’ button.

  • [Developer Tools] Virtual Studio’s mock environments will not display in the Unity game view while playing the scene if the Virtual Studio Configuration Menu is closed. Be sure to keep this window open in Unity after configuring the mock environment so that you can play through your scene in Mock Mode.

Released: May 17, 2022