Harald Haraldsson

XRC Toolkit

XR Collaboratory, Cornell Tech

Year: 2024

 

The XRC Toolkit is a collection of tools and 3D interaction techniques, developed at the XR Collaboratory, for accelerating AR/VR prototyping


THE PROBLEM

High-fidelity prototyping for AR/VR interaction design can be challenging and time consuming. As the number of projects utilizing AR/VR continues to increase in academia, more researchers are faced with the challenge of creating prototypes that can be easily maintained and applied across different research projects.

The users in our case are XRC developers, our students, and collaborators, such as Cornell faculty and their PhD students.

 
 

MY ROLE

As the Director of the XR Collaboratory at Cornell Tech, I lead the project, including system architecture, design, and engineering, and managed a team of two prototypers.

Team: Harald Haraldsson (XR Collaboratory), Sky Rolnick (XR Collaboratory), William Leon (XR Collaboratory)


OBJECTIVES

Our goals were to:

  1. Accelerate the implementation of AR/VR prototypes

  2. Make prototypes interoperable

  3. Improve project continuity


THE SOLUTION

To achieve these goals, we developed the XRC Toolkit, a collection of Unity packages (UPM) containing implementations of various tools and techniques for AR/VR interaction.

  • The XRC Toolkit accelerates prototyping by providing utility packages and ready-to-use components, along with instructions and best-practices for package development and distribution

  • The XRC Toolkit enables interoperability by providing guidelines on package architecture and design principles, increasing consistency between prototypes

  • The XRC Toolkit improves continuity for projects, as each XRC Toolkit package is fully documented with installation instructions, scripting API, and changelog

Our users engage with the XRC Toolkit in the following ways:

  • Consume XRC Toolkit packages in their own projects

  • Contribute to the XRC Toolkit

  • Use the XRC Toolkit guidelines as a reference for their own prototyping efforts

 

Package Example 

XRC Go-Go

edu.cornell.xrc.interaction.gogo.gif
 

The Go-Go interaction technique is a classic manipulation technique, providing the user with an arm-extension capability. We implemented the technique as a package in the XRC Toolkit, extending the XR Interaction Toolkit.

 

Original paper: Ivan Poupyrev, Mark Billinghurst, Suzanne Weghorst, and Tadao Ichikawa. 1996. The go-go interaction technique: non-linear mapping for direct manipulation in VR. In Proceedings of the 9th annual ACM symposium on User interface software and technology (UIST '96). Association for Computing Machinery, New York, NY, USA, 79–80. https://doi.org/10.1145/237091.237102

 

The XRC Go-Go implementation

The full package documentation can be found here: https://xrcollaboratory.github.io/edu.cornell.xrc.interaction.gogo

 

XRC Toolkit

Impact 

edu.cornell.xrc.tools.mesh.gif
 
  • The XRC Toolkit and its guidelines are now used in every new prototype implemented at the XR Collaboratory

  • All student-led independent research projects at the XR Collaboratory are now implemented as packages following the XRC Toolkit guidelines

  • All assignments and group projects in CS 5678: 3D User Interfaces are now implemented as XRC Toolkit-compliant packages

  • Our faculty collaborators have access to the XRC Toolkit and use it as a development reference

  • We launched the XR Collaboratory Prototyping Grant, where the XRC Toolkit is a vital component

 

XRC Toolkit

Selected Packages

edu.cornell.xrc.tools.color.gif