A toolkit that enables developers to build custom VR controllers with features like rotation, translation, and stretch
Published as a full paper in CHI 2019
VR Development
Jatin Arora, Varnit Jain, Nirmita Mehra, Aman Parnami, Aryan Saini, Shwetank Shrey
C#, Unity 3D, Arduino, NodeJs
Full Paper
Download Link
Timeline (May '18 - Nov '18)

Literature Review
7 weeks
Analysed literature to understand the field of VR controllers and define our problem statement
Design Space
7 weeks
Defined the design space which encompasses the functionalities and possibilites of the toolkit.
VR Development
10 weeks
Created VR experiences that portrayed versatility, flexibility, and robustness; and set up lag-free serial communication
4 weeks
Completed research deliverables as per ACM CHI format
"Often Virtual Reality (VR) experiences are limited by the design of standard controllers. "
This work aims to liberate a VR developer from these limitations in the physical realm to provide an expressive match to the limitless possibilities in the virtual realm. Based on the LEGO platform, we propose a toolkit that provides a modular, scalable solution for enabling passive haptics in VR.
"VirtualBricks is a LEGO based toolkit that enables construction of a variety of physical-manipulation enabled controllers for VR, by ofering a set of feature bricks that emulate as well as extend the capabilities of default controllers."
We demonstrate the versatility of our designs through a rich set of applications including re-implementations of artifacts from recent research. We share a VR Integration package for integration with Unity VR IDE, the CAD models for the feature bricks, for easy deployment of VirtualBricks within the community.
Feature Bricks
It determines the absolute position and the orientation of custom-made controllers.
The brick facilitates rotational sensing and actuation using a servo motor.
The combination enables rotation interaction between two LEGO bricks.
The Retraction Brick adds retraction functionality to the linear translation using a thread.
The brick uses a proximity sensor to sense the linear translation interaction two bricks.
The set of Lock Bricks provides locking and unlocking functionality using a servo motor.
The Vibration Brick provides haptic feedback in the form of vibration. It contains a vibration motor attached to its wall.
The Button Brick contains a push button that protrudes out from the brick through a window.
System Design
Flying Dragon
Shooting Game
If you would like to know more about this project, reach out to me at [] or [LinkedIn] .