Skip to content

Unity Project

Michael Zauchinger edited this page Apr 23, 2025 · 27 revisions

Contents

Folder Structure

In the main Assets folder of the project there is a sub-folder called Dataskop which includes everything that was created during the research project.

Folders outside the Dataskop folder contain third party packages, resources and SDKs that are used by the project, for example Mapbox and Unity packages.

World Scene Structure

The scene titled "World" is the main scene of the application and has GameObjects already in the scene.

Directional Light

The default Unity light.

AR Session / AR Session Origin

The Augmented Reality specific GameObjects that make the app be able to process AR features. It also contains the AR Camera which also handles movement and and raycasts in the 3D scene.

AdditionalCameras

Contains cameras used for the minimap and overview map displayed in the user interface.

LocationProviderFactory

Handles real world location based functions using the devices GPS. Also used to spoof GPS data to be able to use it in the editor without deploying to a phone.

Map

A Mapbox specific object that handles the display and rasterization of real world map. Also handles conversion between Latitude / Longitued / Altitude and x/y/z in Unity space. More info on that can be found in the Mapbox Documentation

UserMapIcon / DevicesNearbyRadius

Map / Minimap specific objects that get displayed only on those. The user icon and a radius display, which highlights devices only in the radius around the user.

Calibrator

The calibrations process relies heavily on the device telemetry.

This GameObject handles the calibration process that a user has to go through after each start of the application. It contains steps to find North (North Alignment of the World), the ground to place elements on a fixed offset from the ground and a room scan to make the Augmented Reality more stable and less prone to drifting.

DataManager

Handles fetching and persisting data from the Dataskop Backend.

DataPointsManager

Handles spawning, modifying and deleting DataPoints in the world.

DataPointsContainer

Spawned DataPoints will be put as childs in this container.

DataAttributeManager

Keeps track and handles changes of attributes the user selects.

VisualizationRepo

Contains all available Visualization prefabs.

SettingsManager

Manages Player Preferences that can persist through application exits.

UserInterface

UI-Toolkit based interface. Contains all elements the user has access to in the interface.

This includes:

  • Notifications
  • Settings
  • Information Card
  • Calibration
  • Visualization & Attribute Selector
  • Minimap
  • History Slider

The User Interface also handles the distinction between UI and World touches.

Prefabs / Scriptable Objects

The project makes use of Prefabs to spawn and change values of pre-configured templates.

Clone this wiki locally