-
Platform category: Unity 6000.3.12
-
Device Model & OS version: iPhone 13 max Pro (iOS 26.5)
-
NSDK or Scaniverse version:NSDK 4.1.0-2605913
I have this weird issue with NSDK VPS2 and testflight.
When I build the app locally and run it from xcode the app works. I can get organizations and sites and localize.
Once I upload it (the working build) and run it from testflight I get authentication issues.
Another note:
I am authenticating by Unity Editor Login, I have tried using developer tokens but get the following error ““failed to retrieve user information. make sure you’re authenticated””Attached the logs.
[Warning] [2026-07-02 11:14:08.802] [0x1ee8761c0] SitesManager: user_id not found in access token claims. Token may be invalid or still parsing. NianticSpatial.NSDK.AR.Sites.d__6:MoveNext() System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1:Start(TStateMac hine&) NianticSpatial.NSDK.AR.Sites.SitesClient:RequestSelfUserInfoAsync(Int32, CancellationToken) d__19:MoveNext() System.Runtime.CompilerServices.AsyncTaskMethodBuilder:Start(TStateMachi ne&) VPS2SiteInspector:RunFullQueryAsync() VPS2SiteInspector:OnEnable() VPSModeSwitcher:SetGroupActive(GameObject[], Boolean) VPSModeSwitcher:ApplyMode(VPSMode) d__42:MoveNext() UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)[Error] [2026-07-02 11:14:08.802] [0x1ee8761c0] Failed to request self user info. Status: InvalidOperation NianticSpatial.NSDK.AR.Utilities.Logging.NativeApi:Log(LogLevel, String, String, Int32, String) NianticSpatial.NSDK.AR.Sites.d__6:MoveNext() System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1:Start(TStateMac hine&) NianticSpatial.NSDK.AR.Sites.SitesClient:RequestSelfUserInfoAsync(Int32, CancellationToken) d__19:MoveNext() System.Runtime.CompilerServices.AsyncTaskMethodBuilder:Start(TStateMachi ne&) VPS2SiteInspector:RunFullQueryAsync() VPS2SiteInspector:OnEnable() VPSModeSwitcher:SetGroupActive(GameObject[], Boolean) VPSModeSwitcher:ApplyMode(VPSMode) d__42:MoveNext() UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)[SiteInspector][ERROR] User request failed. Status=Failed Error=UnexpectedError UnityEngine.DebugLogHandler:Internal_Log(LogType, LogOption, String, Object) d__19:MoveNext() System.Runtime.CompilerServices.AsyncTaskMethodBuilder:Start(TStateMachi ne&) VPS2SiteInspector:RunFullQueryAsync() VPS2SiteInspector:OnEnable() VPSModeSwitcher:SetGroupActive(GameObject[], Boolean) VPSModeSwitcher:ApplyMode(VPSMode) d__42:MoveNext() UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)[UniversalLocalize] Failed (Id=c704ac6c-4b94-4993-a5f0-84fa6df6774a, Error=AuthFailure, Duration=160ms, FrameId=3690) UnityEngine.DebugLogHandler:Internal_Log(LogType, LogOption, String, Object) VPS2LocalizeDemo:OnLocalizationRequestRecord(XRVps2LocalizationRequest Record) NianticSpatial.NSDK.AR.VPS2.ARVps2Manager:Update()
Hi Matt,
Thanks for reaching out to us.
Did you set up a full authorization flow beforehand?
I discussed with one of your devs and I solved it temporarily.
It seemed like the login authentication times out by the time the build is live on testflight
I got a developer token working but for some reason I had to regenerate new ones 2 or 3 times before it actually started authenticating
I will now have to create some way to create access tokens, Ill probably host something on vercel, not sure yet.
Not sure why 3 different authentication methods are necessary? Especially for the simple AR app I’m working on that requires no user information/login.
Hi Matt,
Thanks for sharing this. I’ll pass along the issue that you described over to our team to see if this is a bug or maybe something just needs to be changed to stop this from happening.
I definitely understand the frustration regarding the three different authentication methods. The main authentication method is the short lived access token. The developer token is for internal testing so that you don’t have to set up a whole access token flow just to test a quick build by yourself and the sample login flow reference isn’t actually a 3rd method but a sample contained in our NSDK samples package that you should be able to just pull out and use in your own projects if you want a quick setup or a reference for how to build your own own token request flow but ultimately should be replaced with your own short lived access token flow.