Skip to content

Back to home

VR / AR Projects

ElectricalSafetyVR

Electrical Workshop Safety Training Simulator

University group project, INTE 42312 Virtual & Augmented Reality, University of Kelaniya. Team of 5, completed October 2026.

Windows build (OpenXR); developed and demonstrated with the XR Device Simulator.

  • Unity 6 (URP)
  • XR Interaction Toolkit 3
  • OpenXR
  • XR Device Simulator
  • C#
VR electrical workshop with a welcome board, a PPE station and a workbenchDemo video coming soon

The problem

Electrical workshop safety is best learned through practice, but practising with live hazards is dangerous. For our Virtual & Augmented Reality module, we built a VR workshop where trainees put on the right PPE, spot and fix hazards, and replace a blown fuse in the correct, safe order, and where a mistake costs nothing.

What trainees do

  1. Pre-work check

    Put on all six PPE items at the PPE station before starting.

  2. Hazard check against the clock

    Two minutes to find and make safe four hazards: a loose metal tool, an overloaded power strip, a wet floor and a live damaged lead. Missed hazards flash red and explain the risk and what should have been done.

  3. The job, by the Safe Isolation procedure

    Isolate the correct workstation (W2), lock off with a DANGER tag, prove the tester, test for dead at the test point (0 V), replace the blown fuse, dispose of the damaged fuse, and restore power.

  4. Results

    A pass grade with the job score, time, unsafe actions and specific feedback, such as “Wrong isolator! W1 feeds Workstation 1.”

Also in the simulator: an electrical fire task with a CO₂ extinguisher, a power cut with an emergency torch, 3D spatial audio and voice guidance, real-world safety signage including a Safe Isolation poster, and an outdoor yard.

My role

  • Built the indoor workshop environment.
  • Integrated the team's work: merged five members' branches into one working build and fixed the integration bugs (fuse snap-fit, PPE grabbing, build setup).
  • Added two finishing touches: a disposal bin for the damaged fuse, and a 3D spatial sound for opening and closing the fuse cover, generated in code.

Technical challenges

  1. Merging five branches into one build

    Each teammate worked on their own Git branch, with their own scenes, prefabs and references. I merged everything into one main scene and wrote small Unity editor tools (menu commands) that applied each of my changes with a matching revert, so I could try integration fixes without risking anyone else's work. The first build opened to an empty scene; the cause was the wrong scene in Build Profiles, fixed by setting the main scene at index 0.

  2. PPE that couldn't be grabbed

    After the PPE shelf was moved, the gloves, goggles and ear defenders stopped responding to the controller ray. The shelf's solid box collider now enclosed the items, so the ray hit the shelf first. I wrote an editor tool that finds furniture colliders enclosing grabbable items and switches them to triggers, which XR rays ignore, leaving everything else unchanged.

  3. A fuse snap-fit that is forgiving but still safe

    Lining a small fuse up with its holder in VR was fiddly and often failed. I added a snap-assist: if the new fuse is released within about 20 cm of the holder, with the cover open and the blown fuse already removed, it snaps into place, locks and completes the task once. It's easy for the trainee, but it still enforces the correct safety order.

Outcome

Our lecturer recognised it as an excellent, fully working VR simulation compared with the other teams' projects.

Credits

Built with Dulmi (interactions), Sanduni (electrical safety hazards), Dinan (game flow) and Ridmi (workshop scene).

Third-party 3D models, textures and audio from Poly Haven (CC0), Poly Pizza, Sketchfab (CC BY 4.0), CGTrader, the Unity Asset Store and Pixabay; voice-guidance clips made with AI text-to-speech.

Full list in the repo's CREDITS.md