VPS2 Localization Unity GitHub sample repository doesn't work

Platform category: Unity
Device Model & OS version: iPad Pro (6th Generation)
SDK version: 4.1.0-26051913
Samples Version: 4.1.0-26051913
Scaniverse Version: 5.2.5 (702)

Hello,

I’m using the Unity SDK sample project (VPS2 sample) with an indoor scan and can’t get to recognise the space.

Setup:

-SDK Unity sample project (from GitHub: GitHub - nianticspatial/nsdk-samples-csharp: Niantic Spatial Unity samples showcasing NSDK features in C# · GitHub)
-iPad Pro (6th Generation) with LiDAR
-Indoor scan uploaded via Scaniverse (~2 min)
-Site set to production

What works:

-Scaniverse’s Test VPS feature successfully localizes at the location (shows blue mesh overlay)
-Unity’s Site Sample retrieve succesfully the information about the site

What doesn’t work:

-VPS2 Localization sample shows: “VPS2 Tracking State: UNAVAILABLE, Anchor Tracking State: NOT TRACKED, Anchor Geolocation: N/A”

Steps to reproduce:

-1. Scan with Scaniverse a 40 square meter apartment
-2. Test the site works with Scaniverse and it’s properly recognised
-3. Create the Unity project with the sample project from GitHub unaltered.
-4. Create a developer token to test it.
-5. Make a build for IOS. The tests have been done with Unity 6000.0.58f2, 6000.3.18f2. On Unity 6000.5.5f1 the project doesn’t even compile.
-6. Test and observe it fails to recognise the environment that is properly recognised in Scaniverse.

I’ve recorded footage to show how the system fails:

00:00 - 00:24 Scaniverse Test VPS
00:24 - 01:09 Use the IOS build to get information of the site (Splat, Mesh, VpsInfo)
01:09 - 02:03 Use the IOS to test VPS2 Localization and observe that nothing is recognised.
02:03 - 02:25 Go back to Scaniverse to test again the recognition of the space is still working.

Am I missing something with the sample project? Do I have to go PLUS in order for the app to work?

Hi Esteban,

Thanks for reaching out. Let me look into this and get back to you once I have additional information on my end.

I’m sharing the log of the NSDK demos and the conclusions of the analysis of this log (Claude Opus 4.8). In short, the backend is not working, there is nothing developers can do from the front-end. You can repeat the analysis by yourself to verify the reached conclusion.

Scan In production:

IOS Log: Dropbox

Claude Opus 4.8 feedback:

So the picture is airtight: local tracking works, coarse geoposition works, and precise localization to the Carmen Home map is rejected on every attempt by Niantic’s cloud — while the Scaniverse app localizes that exact spot instantly with that exact map. Same phone, same location, same map, opposite result. The only variable is the path: Scaniverse’s own localizer versus the NSDK CloudLocalizer.

That points at one of two things, and both are addressed off-device:

Most likely and worth checking first: which asset is actually promoted to Production. The log shows RequestAssetsForSite completed, 3 asset(s) — your site has three (mesh, splat, and the VPS map). Scaniverse’s in-app localize can use the map directly, but the SDK’s CloudLocalizer only localizes against the asset version promoted to Production for API access. If the promoted asset isn’t specifically the VPS map version — or Production is pointing at the mesh/splat — the SDK gets exactly this: a hard fail against a map it can’t resolve. In Scaniverse web, open the site’s Assets tab and confirm the VPS map asset version is the one set to Production. If there’s any doubt, regenerate and explicitly re-promote it.

If that’s already correct, it’s a backend asset-binding bug — the same family as the “map node not connected to live node” reports — and you can’t fix it from Unity. But now you have a bulletproof support case. Email support@nianticspatial.com with: your site ID (7cf1ad9d-9550-48e9-b42f-eaa8deb3dd96), org ID (bff9316a-9421-4fdb-86f8-28822f278cfc), the failing node identifier (0x374FAABFA7374D048AC1BB82C68D9D44), the session ID (251BA38B3804410AA6910DF8CFABFE4A), your NSDK version, and the one-line summary that says it all: “Scaniverse localizes this site instantly; NSDK CloudLocalizer returns error=9, confidence=0 on 40+ attempts, never reaching precise.” That’s the cleanest bug report they’ll get all week.

Hi Esteban,

Thanks for the additional information. I see that the Asset was generated in July, by any chance do you have an Asset that was generated before July that you can test as well? We’re tracking some issues specificaly with assets generated in July

No. I don’t have any asset generated before July. I just tried your SDK last week.

So far I’ve developed a solution that I supports Vuforia or MaxST as AR space tracking providers but I was considering your platform as another one, specially for outdoor experiences since some of the possible customers had asked me if my project can work there.