Door Screw Interaction

A work-in-progress XR interaction system built in Unity and C#, focused on creating intuitive mechanical interactions for VR training and simulation.

For this prototype, I developed a screw mechanism that combines rotational input with constrained linear movement, allowing the user to interact with the mechanism naturally using an XR controller or hand interaction.
Technical Implementation
  • Built the interaction system in Unity using C# and the XR Interaction Toolkit.
  • Developing a reusable Rotary Controller for detecting and controlling rotational movement.
  • Used ScriptableObjects to separate interaction parameters from the core logic, making the system easier to configure and reuse.
  • Implemented custom configurable rotation limits, movement limits, resistance, rotation multipliers, and spring-return behaviour.
  • Event-driven states such as rotation changes, minimum/maximum limits, and detent positions.
  • Constrained the screw’s movement along its intended axis to prevent unwanted movement or drift.
  • Designed the system with modularity in mind so the same interaction framework can be adapted to different mechanical controls.
Design Goal
The goal was to make the interaction feel less like pressing a virtual button and more like manipulating a real mechanical component.

This prototype is part of my broader work exploring XR interaction design, VR training systems, and physically intuitive controls for Meta Quest 3.

Door Screw Interaction

Status: WIP / Prototype
Engine: Unity 6
Language: C#
Platform: Meta Quest 3
Focus: XR Interaction, Mechanical Systems, Gameplay Programming, Interaction Design.
Software Used
1–2 minutes