Development

VR Chemistry Lab

Immersive virtual reality chemistry lab for Meta Quest, developed in Unity.

1 star2025role: scrum master · team developmentstatus: Completed
~15 users

01 Problem and context

Physical chemistry labs face capacity constraints, fixed schedules, and inherent safety risks: a mistake with a reagent or a burner carries real consequences. Practicing procedures before entering the physical lab requires a safe, repeatable alternative.

First-year chemistry is learned in a physical lab, where getting a procedure wrong has real consequences. The brief came from an external client (a professor who also runs the chemistry labs) to build a virtual reality environment where students could rehearse those procedures before setting foot in the real lab. Fidelity was the binding constraint, since a simulation that gets the order of steps, the glassware or the outcome of a mix wrong prepares you worse than not rehearsing at all. On top of that came the hardware, because everything had to run standalone inside a Meta Quest headset.

02 Solution

A comprehensive virtual lab built in Unity 6 for Meta Quest. Students interact with simulated equipment (pipettes, pH meter, burner, filtration setups) featuring realistic physics and particle systems, while an assessment interface connected to an external LMS tracks their performance. A CI/CD pipeline using GitHub Actions automatically builds and signs the APK.

  1. Requirements work with the client: which procedures had to be rehearsable, and what level of fidelity the lab director would accept as valid.
  2. Building the environment in Unity 6 on the XR Interaction Toolkit, with lab equipment you pick up with your hands and a room you walk at real scale.
  3. Implementing the experiments, the animated elements, and the quizzes that check the student followed the procedure in the right order.
  4. Running the team as Scrum Master: short iterations against a Product Owner, with regular reviews where the stakeholder corrected the fidelity of each procedure.
  5. Standalone Meta Quest build, test sessions with students inside the headset, and the final presentation to the client.

03 Results

Verifiable figures in the repository and its documentation:

1external client, with a defined stakeholder and Product Owner
~80C# simulation scripts

04 How it's built

3DLAB is a virtual reality chemistry laboratory built in Unity 6 using the XR Interaction Toolkit and the Oculus plugin, targeting Meta Quest (Android). It simulates lab equipment and procedures through nearly 80 C# scripts: pipettes, beakers, pH meters and pH paper, Bunsen burners, gas valves, filtration systems, and spill detection, among others. It includes an assessment interface connected via REST to an external LMS (token, questions, and result submission) and a CI/CD pipeline powered by GitHub Actions and game-ci that builds and signs the APK.

05 Ethical decisions

  • A training simulator inherits responsibility for what it teaches: a badly reproduced procedure does not stay on the screen, it travels with the student into the real lab. No experiment was implemented because it looked plausible; each one was signed off by the lab director before it counted as done.
  • The environment was framed as rehearsal, not as a replacement for the physical lab. The quizzes confirm that a student walked through the procedure; they do not certify competence to handle real reagents.

06 Highlights

  • Nearly 80 C# scripts simulating lab equipment: pipettes, pH meters, pH paper, burners, gas valves, filtration, and spill detection.
  • VR interaction using XR Interaction Toolkit 3 and the Oculus plugin, targeted for Meta Quest (Android build).
  • Evaluation module integrated with an external LMS via REST API (token authentication, question loading, and submission of results).
  • CI/CD pipeline with GitHub Actions and game-ci that compiles in Unity 6, signs the APK with a keystore, and prepares it for Meta deployment.
  • Chemical process simulation using Unity particle systems and physics (reactions, container filling, breakage, and spills).

07 Limitations

There is no dataset here; the limits are simulation limits and hardware limits. The chemistry is modelled to the level of detail the client judged sufficient for rehearsal, not as a general reaction engine, and outside the implemented experiments the environment predicts nothing. Everything runs standalone on the headset, which fixes a tight performance budget. Transfer to the real lab was never measured and would require follow-up study.