VPS Misalignment After Wayspot is Lost and Found Again

Hi,

I’ve run into a consistent issue when working with VPS scanning, both in my own custom code implementation (using Babylon.js) and using the official three.js VPS template in the Studio Editor.

Here’s what’s happening:

  • On first detection, the VPS target aligns perfectly.
  • If the target is lost and then found again, the transform briefly locks on, then jumps and becomes noticeably misaligned.
  • This behavior occurs for each target in an experience - the first detection works fine, but every subsequent reacquisition results in misalignment.

I’ve confirmed that this isn’t specific to my implementation. The issue also occurs in a fresh project cloned directly from a Studio template, so I suspect it may be related to how 8th Wall handles something under the hood.

As a test, I disabled the projectwayspotlost event, and the issue disappears. Since the target is never marked as lost, I can move between different scanned targets and they all stay properly aligned. The problem only arises when the projectwayspotlost event is triggered and the next projectwayspotfound fires for that specific target.

I’ve made a video demonstrating the behavior:

  • The first time the target is found, everything aligns correctly.
  • I then move the phone down to lose tracking.
  • When the target is reacquired, it initially locks on correctly, but after about a second, it jumps and becomes misaligned.

Is this a known issue?

This issue is typically caused by the location lacking distinct visual features. VPS relies on computer vision to localize content, so if the environment doesn’t have enough unique or varied details, it can struggle to accurately place content.

From the video, it looks like the brick wall has a repeating pattern, and the white walls and wood floor appear fairly uniform. These kinds of surfaces make it difficult for VPS to determine a reliable position, which is likely why you’re seeing inconsistent behavior.

That’s true it doesn’t have the best feature points, but I did test this across several other VPS scans with better feature points, and the same issue came up consistently and I could reliably reproduce it every time.

I narrowed it down to when subsequent projectwayspotfound events are fired during the experience - if I apply the newly given position and rotation, it throws off the model’s transform. But if I ignore any subsequent “found” events and don’t reapply the transform, everything stays aligned and tracks correctly. That’s the workaround I’m using for now anyway.

This video shows the same wall tracking properly after ignoring any further projectwayspotfound events after the first one in the experience.

Interestingly though, I just tested a scan with very strong feature points and didn’t run into the issue at all. So maybe it does come down to scan quality like you said - but I’m still not sure why my workaround solves it in the other cases. Since I can replicate this using the VPS templates from the Project Library as well, I figured it was worth flagging in case there’s something else going on with how subsequent found events are handled.

Appreciate you flagging this! Yeah I’m not entirely sure why that would be the case either, however someone on the VPS team would probably know a lot more than me.