I want to use ARDK VPS function indoors

Include the following details (edit as applicable):

  • Issue category: VPS
  • Device type & OS version: Android
  • Host machine & OS version: Windows
  • Issue Environment : Dev Portal
  • Xcode version:
  • ARDK version: 2.2
  • Unity version: 2020.3.30f1

Description of the issue:


I want to use ARDK’s VPS function indoors.

All of the examples I’ve seen are outdoor use of certain landmarks

I scanned my office using the wayfairer app. I’d like to check the indoor VPS with this information.

And it’s in the User Manual

I don’t know how the code is used because there are no actual scenes in this video.

My purpose is to utilize the VPS function indoors. I’d appreciate it if you could help me.

I think dilmer has a very basic video on enabling VPS

Hello Ha Dongho,

For a scan to work, you must make sure to follow the scanning instructions as closely as possible. Some items you need to consider:

  1. Multiple scans are necessary to have a consistent mesh of a location.
  2. We only use outdoor accessible locations because we are not encouraging people to violate the privacy of others.
  3. You can use the wayfarer app indoors but that will only be a private location you can use for testing currently.
  4. When scanning a location each scanning session will generate 5 scans, so to do what you want, you will need to use the wayfarer app to scan the area you want a minimum of 5 times.
  5. Here is a link that will explain things in greater detail: https://lightship.dev/docs/ardk/vps/generating_scans.html#creating-private-vps-locations

We hope this helps you with your request. Please let us know if you have any further questions.

I’ve been using VPS indoors using two different methods:

  1. In some locations, the indoor GPS is good enough so I just use it as I would outdoors.
  2. For some locations where the GPS isn’t very good indoors, I set up a SpoofLocationService with the specific GPS coordinates of the scan that I made there (you can look that up in your account dashboard)

I’d like to apply VPS to the lobby of public facilities libraries or large buildings, not private spaces indoors, but I wonder if it’s possible.

Hi @Jason_Rose1 I am also interested in indoor use of the VPS like in museums. I see its possible with private scans, but they are only available for testing purpose. Is it possible to add a museum room as a public spot?

Second, is it possible to detect scans offline, stored on the device app, without using the localisation and network? Again talking of a museum use case where you might have ten rooms scanned and saved on device.

Thank you

Hi @HA_DONGHO & @Josef_Grunig

Yes, it is entirely possible to apply VPS to a lobby of a public facility. The key is keeping the VPS location to a part of the public facility accessible to everyone. This means that for a place like a library interior to work as a VPS location, one would have to get permission from the company that manages the library or owns the land on which it was built. This is not a standard practice due to the legal ramifications that arise when entering a building. In short, it is possible to use VPS inside a public building, but not encouraged because of the legal precedents involved.

Now Josef, to address your second question, yes it is possible to access your scans offline, but that is not supported by VPS at this time. You would need to create a solution on your own for doing so.

@Jason_Rose1: I am not sure if I understood correctly: would a public museum (where you have to pay a ticket to enter) be a proper VPS location? The AR Experience would be part of the Museum Tour so you don’t need to ask permission to use the phone in the Rooms.

Second question, there would be probably poor or no GPS signal, would it work? In case of no signal, would it possible to give the fixed location of the museum?

Thank you

Hey Josef,

I am not sure what the legal ramifications are. I would advise being mindful of potential legal problems even in public spaces. That is why VPS locations are generally outside, where those potential problems do not exist. Any time one goes indoors there are potential legal issues to consider.

As to your second question, I believe that is possible, but again you would run into potential legal issues. We strongly recommend against indoor locations without coming to an agreement with the property owner. If the legal concerns have been addressed you could design a fixed location after taking multiple scans of the area. Keep in mind that the scans in question would be within a 5-meter radius. Vps does not work in a radius larger than that presently. Here is a link to how generating scans works: Generating Scans for VPS

I hope this helps answer your questions. If you have any further inquiries please feel free to create a new topic whenever you wish. We are glad to try and assist you further.

Thank you for your reply!

Sorry to get back to you so late, but I don’t get notification of your answer. Will check this.
Regarding the legal problem, we would take care of this with an agreement with the museum itself and informing also the tourists with a proper privacy policy and terms of use from within the application. The important thing is that the VPS can be created and accepted by the platform. My suggestion to Lightship would be to create special VPS that are private and accessible from a specific application and which use is permitted on production.

The 5 meter radius should not be a problem; must the scan be subject centric (like a statue) or can it be also around the user (like room walls)

Thank you!

Hi Josef,

About your suggestion please create a feature request post here on discourse. Be as detailed as possible so we can submit it to Niantic’s engineers.

As to your question about the scan being subject-centric, yes the scan has to be of an object that you can freely access and move around. This is how you get a complete scan. Scans of walls are difficult but not impossible. I have included a link to the best scanning practices portion of the user manual. Hopefully, this helps answer your question.