ARDK 0.9.0 Release Notes 2021-06-24
What’s New
[Contextual Awareness] Expand semantic classes supported to sky, ground, artificial ground, water, buildings, foliage
[Contextual Awareness] Device support verification now relies on a chipset-based allow-list
[Developer Platform] New look to the documentation
[Developer Platform][Playgrounds] As of ARDK 0.9.0, the Playgrounds app is no longer supported. We will be introducing a whole new sample app (iOS only) shortly after this release–stay tuned.
If you have previously downloaded it feel free to update and continue to use, but expect no further updates from the ARDK team.
Known Issues
[Basic AR] Disposing an
ARSession
after adding an image anchor causes crash[Basic AR] Image anchors detected on Android devices will initially return a position of
(0, 0, 0)
[Basic AR] Image anchors detected on Android devices are updated each frame without a change to the underlying data
[Multiplayer] Physics not simulating for unowned network objects
[Contextual Awareness] Depth not correctly enabling when
ARDepthManager
is enabled after theARSession
has Ran[Developer Tools]
MockARNetworking
pose and state logic doesn’t exactly match native (will go directly fromwaitingForLocalization
tostable
)[Developer Tools]
ARDKGlobalVersion.getARBEVersion
returnsEditor
even when using live device networking in the Unity Editor[Developer Platform] The Redmi Note 9 Pro device is currently unusable
[Developer Platform] Android Manifest may fail to merge in Unity if Android target API is set higher than 29. The solution is to use a newer version of gradle to build, see the Android section in the System Requirements page
[Developer Platform][Examples] In the
LowLevelNetworking
scene, sent messages are not displayed on the sender’s device[Developer Platform][Examples] In the
LowLevelNetworking
scene, server errors are not completely handled which could lead to some irrecoverable states[Developer Platform][Examples]
ContextualAwareness
-based examples crashing when closed repeatedly on LIDAR devices[Developer Platform][Examples] In the
Gameboard
scene, two disabled buttons labeled “Place” appear instead of one[Developer Platform][RecordingExamples] In the
Capture
scene, the camera view appears without use of Init and Run buttons.
Improvements
[Contextual Awareness] Depth and Occlusion quality improvements
[Contextual Awareness] Meshing performance and memory improvements
[Developer Tools] Server version information now available for debugging
[Developer Platform] Authentication instructions updated to more accurately reflect workflow.
[Developer Platform] Standardization and cleanup of ARDK Example scenes
Bug Fixes
[Multiplayer] Fix for endless authentication requests when invalid API key is used
[Multiplayer]
NetworkedUnityObjects
are now assignedPrefabID
s when the prefab is serialized, if unset. PrefabRawID
s are now also protected against changes from instances when user selects to “Apply All” changes to prefab[Multiplayer] Correctly throws exception when either an empty or null byte array is passed in to the
IMultipeerNetworking.Join(byte[] metadata)
method[Developer Platform] Playground Rings scene no longer fails to reload after returning to the scene select menu
Breaking Changes
[Basic AR]
IARFrame.CalculateDisplayTransform
changed to return a matrix able to be directly multiplied to UVs with an invert step[Developer Tools]
MockCameraInputsContainer
component or second Unity camera is no longer needed to run mock ARSessions.[Contextual Awareness]
IArdkFileDownloader
and related APIs renamed toIFeaturePreloader
and related. NewFeaturePreloadManager
component can be used for extra helper functionality around theIFeaturePreloader
API[Contextual Awareness] Depth and semantics related methods moved into
IARWorldTrackingConfiguration
, since they are currently only available with theIARWorldTrackingConfiguration
(back camera) anyway[Developer Platform] Renamed the
Niantic.ARDK.Helpers
namespace toNiantic.ARDK.Extensions
Upgrade Guide
DisplayTransform
Previously, the layout of the matrix returned by IARFrame.CalculateDisplayTransform
forced it to
be used as an array. The layout was fixed so it is now possible to use directly as a matrix. Any
custom shaders using this matrix needs to be updated.
Old alignment:
| a b 0 tx |
| c d 0 ty |
| 0 0 1 0 |
| 0 0 0 1 |
New alignment (changes highlighted):
| a **c** 0 tx |
| **b** d 0 ty |
| 0 0 1 0 |
| 0 0 0 1 |
E.g. what used to be:
o.texcoord.x = (_textureTransform[0][0] * vertex.texcoord.x) +
(_textureTransform[1][0] * vertex.texcoord.y) +
(_textureTransform[0][3]);
o.texcoord.y = (_textureTransform[0][1] * vertex.texcoord.x) +
(_textureTransform[1][1] * vertex.texcoord.y) +
(_textureTransform[1][3]);
Should now simply be:
o.texcoord = mul(_textureTransform, float4(vertex.texcoord, 0.0f, 1.0f)).xy;
Virtual Studio
The second Unity camera and a MockCameraInputsContainer
component is no longer needed to run mock
ARSessions, so they can be removed from any mock AR scenes/setups. Mock camera controls are now
available through the ARDK > Virtual Studio menu.
Preloading
The IArdkFileDownloader
and related APIs were renamed to IFeaturePreloader
and related. The
implementation of the IArdkFileDownloader
remains unchanged.
Released: June 24, 2021