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:
Unity (version 2020.2.6f1 or newer)
IndoorAtlas Unity plugin <https://github.com/IndoorAtlas/unity-plugin>
Optionally: IndoorAtlas positioning deployed to test your new Unity AR navigation app
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/com.unity.xr.arfoundation@4.1/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.