Documentation

Technical reference for the FITARNA Indoor AR Navigation project — architecture, tools, and external resources.

Project Overview

FITARNA (Florida Institute of Technology AR NAvigation) is a cross-platform mobile AR application that provides real-time, turn-by-turn indoor navigation using the smartphone camera.

The app renders directional waypoints as 3D AR overlays anchored to real-world coordinates, guiding users through building interiors without requiring any dedicated hardware beyond a modern iOS or Android device.

Unity 2022 LTS AR Foundation 6.x iOS + Android C# / TypeScript

Architecture

The system is divided into three layers that communicate at well-defined interfaces:

[ Mobile App — Unity / C# ] AR camera feed → plane detection → localization pathfinding → 3D waypoint rendering (URP) UI (TextMesh Pro) → input handling [ Backend — TypeScript ] REST API → floor-plan JSON → POI registry serves building map data to the app at runtime [ Platform AR Runtimes ] iOS : ARKit (via Unity ARKit XR Plug-in) Android : ARCore (via Unity ARCore XR Plug-in)

Key Components

AR Session — managed by AR Foundation's ARSession and ARSessionOrigin components, which abstract over ARKit/ARCore and provide a unified world coordinate space.

Pathfinder — takes a destination POI and the user's current world position, queries the floor-plan graph, and returns an ordered list of 3D waypoints.

Waypoint Renderer — uses Unity's LineRenderer and instanced meshes to draw the navigation path in the AR scene, styled via the Universal Render Pipeline.

Map Service — a lightweight TypeScript backend that stores building floor plans as JSON and exposes them via HTTP so the app can load the correct map on demand.

Tools & Technologies

Repository

The full source code — Unity project, backend service, and website — is hosted on GitHub. Issues, pull requests, and the project board are all managed there.

View on GitHub ↗