cancel
Showing results for 
Search instead for 
Did you mean: 

Quest Pro - LoadUnboundAnchorsAsync() returns with "FailureUnsupported" result

priceless.vr
Honored Guest

Hello,

I'm trying to work with spatial anchors for the consistent placement of objects. I can create spatial anchors fine, but whenever I try to load them using LoadUnboundAnchorsAsync(), I get an error and the code does not proceed to the creation of loaded anchor data. The functionality works as intended when testing through oculus link in the editor, but stops working inside a standalone app.

InvalidOperationException: The OVRResult does not have a value because the operation failed with FailureUnsupported.
at OVRResult`2[TValue,TStatus].get_Value () [0x00047] in .\Library\PackageCache\com.meta.xr.sdk.core@66.0.0\Scripts\Util\Async\OVRResult.cs:257

 

async void LoadAnchorData(Guid[] ids)
    {
        List<OVRSpatialAnchor.UnboundAnchor> _unboundAnchors = new();
        var res = await OVRSpatialAnchor.LoadUnboundAnchorsAsync(ids, _unboundAnchors); //The errors come at this line
        if (!res.Success)
        {
            Debug.LogError($"[SpatialAnchorManager - Load] Error while loading: {res.Status}.");
            return;
        } 
        foreach (var _anchor in res.Value)
        {
            _anchor.LocalizeAsync().ContinueWith((success, anchor) =>
            {
                var p = Instantiate(anchorPrefab);
                var a = p.GetComponent<AnchorObject>();
                p.name = $"Anchor {_anchor.Uuid}";

                _anchor.BindTo(a.anchorComponent);
            }, _unboundAnchors);
        }
        Debug.Log($"Unbound anchors list contains {_unboundAnchors.Count} entries.");
    }

 

and this is the Android manifest:

 

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:installLocation="auto">
  <application android:label="@string/app_name" android:icon="@mipmap/app_icon" android:allowBackup="false">
    <activity android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" android:configChanges="locale|fontScale|keyboard|keyboardHidden|mcc|mnc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|touchscreen|uiMode" android:launchMode="singleTask" android:name="com.unity3d.player.UnityPlayerActivity" android:excludeFromRecents="true" android:exported="true">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
        <category android:name="com.oculus.intent.category.VR" />
      </intent-filter>
      <meta-data android:name="com.oculus.vr.focusaware" android:value="true" />
    </activity>
    <meta-data android:name="unityplayer.SkipPermissionsDialog" android:value="false" />
    <meta-data android:name="com.samsung.android.vr.application.mode" android:value="vr_only" />
    <meta-data android:name="com.oculus.ossplash.background" android:value="passthrough-contextual" />
    <meta-data android:name="com.oculus.telemetry.project_guid" android:value="17ff998b-6be8-4883-91a9-712e02222763" />
    <meta-data android:name="com.oculus.supportedDevices" android:value="quest2|questpro" />
  </application>
  <uses-feature android:name="android.hardware.vr.headtracking" android:version="1" android:required="true" />
  <uses-permission android:name="com.oculus.permission.USE_ANCHOR_API" />
  <uses-feature android:name="com.oculus.feature.PASSTHROUGH" android:required="true" />
  <uses-permission android:name="com.oculus.permission.USE_SCENE" />
</manifest>

 


Could there be a configuration I'm missing? Does this really not work in Quest Pro specifically?



 

 

1 REPLY 1

priceless.vr
Honored Guest

An update in this case: I had a co-worker test this same app in a Quest 3 and the system works as intended without any issues, so this might filter it down to some specific configuration within the Quest Pro...