Immersive Electrical Room (VR)
The drainage pump stopped. In the VR room, the trainee finds the drawer, reads the PLC ladder and the relay, warns the electrical team before touching anything and decides whether it can be restarted, away from an energized panel and as many times as needed.
- Role
- Project lead, with more experienced engineers on the script
- Period
- Sep 2026 – present
- Status
- in progress
- 3D and virtual reality
- Unity 6
- C#
- OpenXR
- XR Interaction Toolkit
- URP
- Meta Quest 3
- dotnet test
- Claude Code
- Codex
Plain explanation
The problem
An electrical room is a hazardous area, with the panels energized. To get in, a person needs NR-10, a 40-hour course, plus the authorizations. That is why interns and new technicians barely get close to the panel.
But it is there, among identical panels side by side, that you learn to read the panel and the diagram at the same time; a manual does not teach that. And teaching on site takes time: someone experienced has to go to the room and accompany each person, close to energized equipment.
What it does
- Delivers the call
Wearing a virtual reality headset, the person enters a corridor between two rows of panels. By the door, a clipboard holds the problem of the day: "the drainage pump stopped".
- Points to the right drawer
Among identical panels, an amber light shows which panel drawer has a fault.
- Lights up what works
The diagram on the wall lights up green each part that is working; the first one that does not light up shows where the fault is. The drawer's display writes what the fault is.
- Lets you get it wrong without risk
Before touching anything, the person warns the electrical team on the room's phone. Resetting a drawer that tripped on an earth fault, when current escapes where it should not, is the mistake, and nothing really happens: they pick up the call again and start over.
On screen

Tap outside the image to close it.

Tap outside the image to close it.

Tap outside the image to close it.

Tap outside the image to close it.

Tap outside the image to close it.

Tap outside the image to close it.
What changes
The person reaches the real panel knowing what to look for: where to look, how to read the diagram and why not to reset a drawer that tripped on an earth fault.
Virtual reality does not replace NR-10: it brings the person closer to the room beforehand, and without risk. With that, those who teach can spend less time on site, and those who learn can shorten the learning curve, because they have already trained the same call as many times as they needed.
And the same approach can serve interns, new technicians and people from outside the field, in other hazardous places where today you only learn by going there.
Technical explanation
Problem, improvement and result
- Problem
- To get into an electrical room, a person needs NR-10 (a 40-hour course) and the authorizations; it is a hazardous area, with energized equipment. Interns and new technicians hardly ever reach the panel, and connecting what the relay shows to what the PLC executes is only learned there, looking at the panel and the diagram at the same time, with someone experienced alongside.
- Improvement
- A VR room on the Meta Quest 3 (Unity 6, OpenXR, tracked hands): a corridor between two rows of MCCs, four calls, the PLC ladder in online mode and the display of the drawer's smart relay. The drawer's interlock is plain C#, outside Unity, and goes entirely into dotnet test. Each call restarts from the same initial state, without reloading the scene; on an earth fault, the right call is not to restart and to warn the electrical team, and resetting is the mistake.
- Result
- On October 15, 2026, 1,081 domain tests passed and 62 end-to-end tests in Unity (61 of 62 on the first run, 9 of 9 on the rerun of the intermittent one); mutation testing caught 28 planted defects in the ladder batch and 14 in the handles batch. On the Quest 3, on October 2, 2026, 14 of 18 samples held at 72 FPS, with the worst point at 276 draws, below the ceiling of 450.
Evidence
1,081 domain tests, which run without opening Unity
dotnet test on October 15, 2026, with 2 skipped: the logic of the drawer, the relay and the ladder is plain C#. On the same day, 62 end-to-end tests in Unity (PlayMode), with 61 of 62 on the first run and 9 of 9 on the rerun of the intermittent one.
Measured.
72 FPS in 14 of 18 samples on the Quest 3
Measured on October 2, 2026, on a version earlier than the current one, with nobody wearing the headset: 9 stops around the room, two laps, telemetry over adb. The other 4 samples had isolated spikes of 28 to 83 ms, which are the next fix.
Measured.
Mutation testing in every batch
Defects planted in the code, one at a time, to check that some test fails: 28 caught in the ladder batch and 14 in the handles batch, in October 2026.
Measured.
The problem
In an electrical room, the panels are identical and stand side by side: whoever answers a call walks past a lot of panels before reaching theirs, and works close to energized equipment. For the automation technician, what matters is connecting what the relay shows to what the program does, and that is learned by looking at the panel and the diagram at the same time. That is what a VR room allows and a manual does not.
The Immersive Electrical Room brings that call into the headset: you can get it wrong, go back to the same point and train again, without switching anything off for real.
What the room is not
- It is not regulatory training: the focus is automation, reading the panel, the relay and the ladder.
- It does not simulate an arc flash or teach an electrical safety procedure; the video mentions the arc as a risk of any electrical room.
- It is not a replica of an installation: it is inspired by real rooms.
- It has no measured result with students. Some of the room’s texts are still small in the headset.
On screen

Tap outside the image to close it.

Tap outside the image to close it.

Tap outside the image to close it.

Tap outside the image to close it.

Tap outside the image to close it.

Tap outside the image to close it.
How it works
From the call to the decision, the room follows a motor's command chain: the lamp, the program, the relay and, finally, who can restart it.
- Call
The clipboard by the door holds the call; each one always restarts from the same initial state.
4 calls - Drawer
The amber lamp points to the faulty drawer in the middle of the row.
- Ladder
The wall board is the PLC screen in online mode; the first instruction without green shows the link that does not close.
CLP - Relay
The smart relay's display shows the current, the code and the fault message, as the manual writes them.
IHM do relé - Warning
Before touching anything, the trainee warns the electrical team on the phone and says what they found.
Ramal - Decision
Restart only when it is safe. On an earth fault, the right call is not to restart, and resetting is the mistake.
No timer and no score: the room records the order of the actions, for the instructor to discuss afterwards. The drawer's logic lives outside Unity, in plain C#, and goes entirely into dotnet test; the headset is left with only what the headset can judge.
Almost every cause of a drawer trip is solved by resetting; an earth fault is not. The room exists so that this reflex is corrected where a mistake carries no risk.
Decisions
Instead of: Rules scattered across the scene's components.
Cost accepted: Two layers to keep together, and the headset still needs end-to-end tests in Unity.
Instead of: Trusting the editor on the development computer, which only has an integrated GPU.
Cost accepted: 15-minute runs on the Quest over adb, and a result that still fails on isolated spikes.
Instead of: A regulatory electrical safety training.
Cost accepted: The room does not simulate an arc flash or teach a safety procedure; that is left to another kind of training.
Instead of: Copying an existing room.
Cost accepted: The proportions are estimated, not measured; the floor stripe is yellow on purpose, for the marking.
Instead of: Scoring the trainee.
Cost accepted: The result depends on the conversation with the instructor; the room does not tell on its own whether the person learned.
Instead of: An instant click.
Cost accepted: Each gesture takes longer, on purpose; the visible wait turns the gesture into a decision.
How it was built
- Sep 2026The second door
The room is born as a second door in the VR app, with the panel and the drawer's interlock logic.
- Sep 2026The teaching intent
With more experienced engineers on the script, the axis becomes clear: from the diagram to the program, with no timer and no score.
- Sep 2026The corridor
References from real rooms give look and proportion, and the room becomes a corridor between two rows of panels.
- Oct 2026The phone and the four calls
The warning to the electrical team enters the flow, the calls become four, and the room is measured on the Quest 3.
- Oct 2026The ladder and the handles
The board becomes the PLC screen, starting moves to the relay's menu, and the handles are rebuilt from photos.
I lead the project, with more experienced engineers who help with the script. The code was written with Claude Code and Codex, in batches with a specification and acceptance criteria that I define and validate.
Limits
- Scope: the automation of the motor panel, reading the ladder, the relay and the command chain, in four calls, on the Meta Quest 3. It is not regulatory training and does not simulate an arc flash.
- Next step: sessions with interns and technicians, measuring the time to diagnosis and the conduct errors, and a new measurement of the current version on the headset.
Today and next
Today
A prototype in development, which runs on the Meta Quest 3, with the four calls of the automation room. This page shows what the room makes possible.
Next
- Test with the people who will use it, and measure what changes in the diagnosis.
- Measure the current version on the headset again and find the source of the frame spikes.
- Enlarge the texts that are still small in the headset.
- Take the same idea to other hazardous equipment.
The images are frames from the project's commercial. The first comes from the Quest 3 recording of September 28, 2026, of an earlier version, with the floor stripe recolored yellow in editing, as in the current project; the others are scenes rendered in the Unity editor, with a scripted camera, and the text over them is motion graphics.