Skip to content

VR Car Drift Simulator

Drift Immersive is a VR driving prototype about one thing: making a drift feel good without making you sick. I tuned the vehicle handling, built the cockpit interaction, and debugged the camera and instruments.

Level demo. Plays here or on YouTube.
My role
Vehicle handling, XR interaction, cockpit feedback, technical structure, debugging and UX evaluation
Built with
Unity, C#, VR interaction systems, vehicle physics
Challenge
Expressive drift handling with stable controls, readable instruments and a comfortable camera
Result
Playable drift prototype plus a GDD, UI analysis, code-quality report and annotated deck

What I built

  • Drift handling

    Iterated traction response and drift behaviour until the car felt expressive but controllable.
  • Cockpit interaction

    Steering and speed feedback inside the cockpit, built so attention stays on the road.
  • Project structure

    Modules organised for maintainability while gameplay kept changing.
  • UX evaluation

    Documented control response and friction in cockpit layout, gear feedback and camera comfort.

Making it stable

Most of the work was debugging the cockpit so it felt solid in a headset. Three fixes mattered most:

  • Steering wheel conflicts

    The wheel fought other transforms. I rebuilt its local rotation so it follows input cleanly.
  • Speedometer drift

    Live speed is normalised to a 0–1 range and the needle rotation clamped, so the gauge stays stable.
  • Camera jitter in turns

    Decoupled the XR camera from the car body to reduce rotational jitter during turns.
Debugging and instrument slides
Problem-to-solution breakdown: local rotation rebuild, speed normalisation and XR camera decoupling.
Speedometer calibration: speed mapped to 0–1 and a clamped needle.

In the cockpit

First-person view used to judge lane readability and the sense of speed.
City layout from the design document, used to plan lane spacing, road edges and high-speed collisions.

Documents

Design rationale, analysis and code structure for the prototype.