The WPS (World Pose) package has been moved to the ARDK UPM. For projects that were using the standalone WPS UPM, remove it after updating to ARDK 3.9.
WPS classes have been re-namespaced. The namespace no longer contains the word “experimental”.
If your project includes code that references the Experimental version of the WPS package, you will need to close Unity, delete the Library folder, and relaunch the project before continuing.
Additional VPS tuning parameters are now available. Some of these parameters were previously available as experimental features and required using the NIANTIC_ARDK_EXPERIMENTAL_FEATURES project define. These features are now exposed by default on ARLocationManager. Additionally, ARLocationManager now has a new setting, VPS Usage Mode, that allows you to tune VPS performance for different use cases.
VPS diagnostics are now available that provide feedback to players during localization to increase their chances of localizing. For example, if a hand or other object is obstructing the camera during localization, VPS diagnostics can inform the player so they can move their phone and be more likely to localize. The VPS Localization sample shows how to use diagnostics to make this feedback available to the player.
When using Shared AR, the Unity Transport package can conflict with the Collections package. Reinstalling or updating the Unity Transport package fixes this issue.
The Magic Leap 2 Setup Tool can sometimes hang when performing the Setting the Magic Leap SDK Folder and Importing Magic Leap SDK steps. If this happens, force quit the Unity Editor, re-open it, and pick up where you left off. The Setup Tool should complete the process in the background, allowing you to continue with setup. (This is an issue with the ML2 Setup Tool, not with Lightship.)
On some older Android phones, the framerate will drop for several seconds at the beginning of a VPS session while VPS diagnostics start up. This happens because the machine learning models used by VPS diagnostics are being loaded. Once the ML models finish loading, the frame rate recovers (usually about 5-10 seconds). This slow-down does not show up on newer phones (most phones released since 2020 should be OK). The slowdown can be prevented by disabling VPS Diagnostics on the ARLocationManager (this will prevent diagnostics feedback events).
Updating multiple packages simultaneously to 3.9 (like ARDK and Shared AR) from an older version of ARDK may cause corruption in the Library folder, leading to this error: Instance of Niantic.Lightship.AR.Loader.LightshipSettings couldn't be created because there is no script with that name. Closing Unity, deleting the Library folder, and reopening the project resolves the issue. This is an issue with Unity and they are investigating a fix for it.
When activating Lightship SDK for Android or iOS in Unity 2022.3.10f1 and above, you may see the following error message in the Unity console: XR Plug-in Management error. Failure reason: Unable to assign com.nianticlabs.lightship for build target [Android/iOS]. This error message is benign and the SDK still works as expected for those platforms. After restarting the editor in this state, you may also see warnings in the Project Validation and Lightship Settings windows that can be ignored.
Using Lightship Simulation on Windows machines in Unity versions 2021.3.31 to 2021.3.38 will throw errors and fail to render. This behavior occurs in AR Foundation 5.0 but is fixed in Unity 2021.3.39 and Unity 2022.
Importing the ARDK UPM into a project started from the Universal 3D template may cause build errors to be reported in the console. Restarting the editor should fix this.