Serious Game in Virtual Reality (March 2025)

Project carried out in a pair using Unity in virtual reality for a Meta Quest 2.

Participants: Florian BOISSET and Elisa MARCHAND.

Presentation and context

This section presents a synthesis of a project report produced in an educational setting for the development of a Serious Game in VR. The project aims to design two immersive VR training experiences: a tyre-sorting simulation and a crane simulator. Both modules were built around an event-driven architecture, XR-tool-based user interaction, and a persistent score system. This synthesis highlights the technical choices, interaction flow, success criteria, as well as observed limitations and areas for improvement.
The objective of this serious game is to offer situations close to real professional settings. The main goals were:

The system consists of two complementary exercises. The first assesses the user’s ability to identify and sort tyres by conformity. The second evaluates the precision of crane operation along a variable course. Together, these two modules cover skills of diagnosis, gestural coordination and operational control.

Overview of the VR scene.

Module 1: tyre sorting simulation

Tyre generation and management

The core of the module is centralised in a dedicated manager (TireManager.cs). The exercise is started by an interactive green VR button. When a hand enters the interaction zone, a spawn event is triggered and progressive tyre generation begins.

Tyres appear at a predetermined position in the scene. A coroutine spreads their instantiation over time to produce a regular, readable flow for the player. Each instantiated tyre automatically receives two random boolean properties:

Tyre spawn zone.

Starting the exercise also triggers a stopwatch. A red button completes the setup by providing a quick scene reset (removal of all present tyres).

Detection, scanning and user feedback

Two detectors coexist in the exercise: a manual detector and an automatic detector. Each has a trigger zone and an input reading script. Depending on the detection type, distinct events are emitted.

During a manual scan, the system reads the tyre’s conformity directly and updates the console screen with appropriate visual information. For automatic scanning, the logic adds a prior check on barcode readability. If the barcode is not detectable, a specific error state is displayed.

This architecture offers a key advantage: the separation between data acquisition (detectors), business logic (manager), and feedback (console). The behaviour is easier to maintain, test and extend.

Console display with scan results.

Win condition and score persistence

The final sorting is validated by deposit zones (bins), each associated with an entry/exit detection. When a tyre is placed in the correct bin, the success counter is incremented; if it is removed, the counter is decremented. Victory is reached when 10 tyres are correctly placed.

Once victory is achieved, a virtual keyboard is displayed to enter a name or alias. The score (time achieved) is then saved in a dictionary and stored locally in a JSON file. This approach allows a history to be maintained between sessions. A sorted list of scores is displayed, from best to worst.

Score display.

Sound design

The module integrates several spatialised sounds tied to game events: tyre spawn, scan beep, collisions, button presses and victory sound. Audio reinforces the understanding of the current action and overall immersion. Spatialisation is particularly useful for associating each sound with its origin in the scene.

Module 2: crane simulator

Mechanical design and XR interactions

The crane simulator is based on an assembly of physical joints (fixed joints and configurable joints) enabling controlled rotations on precise axes. This mechanical decomposition reproduces the expected behaviour of an articulated arm: vertical movements, rotation around the base and end-effector orientation.

The user operates via two graspable VR handles, one for each hand. This bimanual constraint is pedagogically relevant as it simulates motor coordination close to a real crane operation task.

Crane movement using VR handles.

Course generation and score calculation

The course is activated with a green button and deactivated with a red button. The guiding path is randomly generated with between 5 and 10 segments, limiting memorisation effects and encouraging training on varied configurations.

The course has a start block and an end block. The start block initialises the score and signals correct entry into the path. During transit:

The end block concludes the exercise and triggers the display of the virtual keyboard for score recording, with logic similar to the tyre module.

Guiding path displayed in red.

Sound feedback

The crane module includes a more minimal sound design, mainly focused on the end-of-course sound. This choice remains consistent with the objective of motor concentration, but could be enriched with intermediate feedback (path-exit alert, trajectory resumption confirmation, etc.).

Overall assessment and outlook

The project achieves its main objectives: offering two interactive VR training situations, built on robust mechanisms (events, triggers, data persistence) and multi-modal user feedback. The use of specialised scripts and clear entry points facilitates code maintenance and understanding of the application logic.

Several areas for improvement were nonetheless identified:

In the medium term, concrete improvements can be considered: strict keyboard input validation, better handling of duplicate aliases, enrichment of contextual sound feedback, and addition of real-time visual correction indicators. These developments would strengthen both the technical reliability and the pedagogical value of the serious game.

Conclusion

This synthesis shows that the VR Serious Game constitutes a solid foundation for immersive training scenarios. The two exercises are complementary and effectively exploit the possibilities of virtual reality: natural manipulation, continuous assessment and performance tracking. With a few technical and ergonomic adjustments, the solution can evolve into an even more precise, stable and adaptive training tool.