IndoorAtlas is a fully cross-platform indoor positioning and location-based AR solution. Using IndoorAtlas through Unity, you combine powerful things:

  • Cross platform development

  • Unity’s power in creating 3D user interfaces

  • IndoorAtlas’ unique location-based AR with AR Wayfinding and location-based AR ads or other AR objects


You’ll need the following:




Setup Your Development Environment

Now, start by getting the latest unity plugin by browsing to https://github.com/IndoorAtlas/unity-plugin and clicking the green check mark symbol on the latest commit:


Click the details of the second item that comes up in the dropdown:

Click the artifacts dropdown on the top right of the page and click the “indooratlas” link:


Download the file and extract it somewhere, you should end up with a file called indooratlas.unitypackage.


Open up unity and start a new project:


Choose the Mobile 3D template:


In a new project start by selecting Window -> Package Manager

 


In the package manager window make sure Unity Registry is selected:


After that install the following packages:

  • AR Foundation

  • ARCore XR Plugin (android support)

  • ARKit XR Plugin (ios support)


Next go to Edit -> Project Settings from the app menu, in the XR Plugin Management section make sure the Initialize XR on Startup and that the plugin providers for ARKit (iOS tab) and ARCore (android tab) are enabled:


On the Player Settings section make sure the following is done on the iOS tab:

  • Camera Usage Description is set

  • Target Minimum iOS version is 11.0

  • Requires ARKit support is set


For android tab the following must be done:

  • Graphics API must be OpenGLES3 (unity limitation right now)

  • The minimum api level must be set to 24


Next select Assets -> Import Package -> Custom Package… from the app menu:


Select the indooratlas.unitypackage:


On the next dialog make sure everything is selected and click import:




AR Session, AR Session Origin and AR Camera setups the AR scene (for more detailed information about these components, refer to the Unity’s documentation: https://docs.unity3d.com/Packages/[email protected]/manual/index.html)



IndoorAtlas Session



Manages the IndoorAtlas positioning session, only one of these components should be active at a given time! Any other IndoorAtlas component should be a child of the IndoorAtlas Session component. The component broadcasts positioning events to all child components, if you are interested in receiving these events, check out the IndoorAtlasSession script for more details.



IndoorAtlas AR Wayfinding



Manages a AR wayfinding session. Only one of these components should be active at a given time! PlaneManager and Camera should point to the AR Session Origin component and AR camera gameobject. Compass, goal, and turn can be given your gameobject of choice for AR visualization. Target should be set to the wayfinding goal, and the wayfinding property controls whether to stop or start routing.



IndoorAtlas UI Information Provider



Convenience component for quick session and debugging information. Mostly tailored for the example Unity project, but can be useful for getting started.


If you need further support, please contact us by creating a support ticket or contacting us by email.