GRoTTO: Generated Reality on Transformable Tangible Objects


Many universities have invested in large-scale “CAVE” hardware installations that place users in the centre of a cube of giant projection screens, simulating a virtual world around them. Traditional virtual reality (VR) headsets, however, can be uncomfortable or inacessible for some users, and setup can be difficult. Well, what if there was a way to produce a similarly immersive experience using inexpensive monitors or televisions that a university might have? Enter GRoTTO: Generated Reality on Transformable Tangible Objects.


The objective of this project was to implement a software suite that uses a Microsoft Azure Kinect to track a user’s movements and turn a Unity project into a virtual space. GRoTTO can be hosted by organizations to allow users a low-barrier way to develop and walk into their own VR apps.


Example render of a torus viewed through two angled monitors

The Team

Faculty Advisor

    Dr. Sid Fels, Professor of Electrical and Computer Engineering

ECE Capstone Team

  • Aviral Salhotra, Developer (September 2021 – April 2022)
  • Elijah Hewer, Developer (September 2021 – April 2022)
  • Kevin Wang, Developer (September 2021 – April 2022)
  • Trevor MacKay, Developer (September 2021 – April 2022)
  • Zishu Xia, Developer (September 2021 – April 2022)


GRoTTO can be set up to use one to eight displays of the user’s choice in any position. This allows organizations to use whatever TVs or computer monitors they may have on hand.

Ease of Use

Configuration is done within the Unity editor.

Interface to quickly edit monitor layout

Visual representation of physical space in Unity

Testing & Calibration

Unity camera objects contain alignment structures which are used to correctly locate the virtual displays.

Example of correct alignment:
User’s perspective
Toroids in the Unity environment


GRoTTO can be easily integrated into an existing Unity project to create an interactive virtual environment without a headset.
Future versions of GRoTTO could be ported to work with otther 3D engines and depth sensors.