ARKit World Map Switching Causes Temporary Tracking Loss

Hello everyone,

I’m working on an AR application using Unity and AR Foundation (ARKit) that covers a large indoor space. Due to the point cloud limitations of ARKit world maps, I’ve divided the space into different zones, each with its own world map.

Current Setup:

  • Multiple ARKit world maps for different zones
  • Illuminated objects throughout the space serving as tracking features
  • Low-light environment
  • Basic tracking works well within each zone

The Issue: When switching between world maps using _arKitSessionSubsystem?.ApplyWorldMap(arKitMap.WorldMap), there’s a momentary loss of AR tracking/session stability.

Question: Is there a way to make the transition between world maps more seamless without losing tracking?

Any help or suggestions would be greatly appreciated!

1 Like

Interesting case! Maybe you could use Anchors?

Maybe? I already have anchors in each maps, but won’t the anchors get removed since I am changing maps?

Applying a world map necessarily recreates the AR Session by ARKit’s design: https://developer.apple.com/documentation/arkit/arworldmap#3221827

The only way to make the transition more seamless would be to not use world maps for this use case. If you do require world maps, consider showing some sort of loading animation or other content to the user while the AR Session state is not yet Tracking after applying the new world map.

1 Like