Skip to content
A Bridge Between Bodies: Puppetry-Based Interfaces for Virtual Reality
C# HLSL ShaderLab Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


A Bridge Between Bodies: Puppetry-Based Interfaces for Virtual Reality is a exploration of third person interface design in VR and my master's thesis. As of the time of writing, I was aware of very few third person VR video games, and only one that could arguably be a third person video game (the one being Xortex in the lab, although it didn't have the player play as a character). This, to me, was an interesting unexplored design space, and one with a connection to a real world cultural practice; puppetry.

Puppetry already contends with the question of how to control other characters using motion. Puppetry has what I would describe as physical interfaces, in the form of handles and rods, that map the movement of the puppeteer to the puppet. I only needed to reinterpret existing forms of puppetry and apply that design to VR interfaces.

To that end, I developed a video game prototype made in Unity for the Oculus and Vive. In the game, the player controls three acts of a circus. Each act features a different puppet, with a different interface based off a form of puppetry and a different circus act. The player’s goal is to keep the audience excited by performing each puppet’s act.

Note - This project was developed in a private repo, so there is no commit history here. I developed the project using a private repo because I used and referenced purchased assets. I've removed the purchased assets from this version of the project, but to anyone curious about the project's history please reference the documentation.

Getting Started


Unity 2017.3.1f1 or above

HTC Vive/Oculus Rift with Touch Controllers


Either open the the root folder as a project in Unity


Run the latest release

How to Play

Press TAB to switch between sandbox mode, which features all puppets, and testing mode, which features one puppet at a time (Testing mode was how I completed a pilot IRB study)

Press SPACE in testing mode to progress to the next puppet or loop from the last puppet to the first

Press R to reset the scene and all puppets/objects, if at any point a puppet or object is lost or broken

Oculus Controls

Vive Controls

Built With

Outside Links


This project is licensed under the Apache License - see the file for details


You can’t perform that action at this time.