## 3 Implementation  
We developed MAGIC to provide proprietary and specialized software for the collaborative configuration of design products. To implement collaboration, the users are embodied as digital avatars and provided with synchronized tools. A maximum of 10 participants can simultaneously use the following interactive features (Viewer Menu, see Figure 2 left):  
* **Transform**: Allows users to select an object or assembly prepared for mobility, drag in 3D space, and reposition it. * **Measurement**: Allows users to take measurements to support space evaluation. * **3D Cut Volume**: Allows users to model, move, rotate, and scale a cutting volume to dynamically inspect cross sections of the model. * **X-Ray**: Allows users to select objects to make them transparent, enabling inspection of hidden geometries (Figure 2 right). * **Bookmark**: Allows users to create quick-access points in the scene, facilitating access to key elements of the model. * **User Scale**: Manages the avatar scale, allowing users to access an overall view of the model or move quickly through space. * **Annotation**: Allows users to create 3D text boxes for comments and annotations. * **Snapshot**: Allows users to take snapshots to validate the arranged configuration. **Unreal Engine 5** (UE5) was chosen for the VR implementation due to its versatility, scalability, and advanced integrated programming tools. With technologies such as _Nanite_ and _Lumen_, this game engine can provide high-quality visual experiences and manage complex, high-resolution geometries with dynamic lighting. Graphical settings such as **Single-Pass Stereoscopic Rendering** and **Stereo Foveation** are enabled in the project to optimize the VR experience, improving system fluidity by halving the computational load on each lens of the HMD and by focusing the maximum resolution at the center of the user's field of view (FoV). MAGIC is an extension of **Collab Viewer**, a cross-platform template provided by UE5 and designed for collaborative experiences, with excellent flexibility for integrating custom controls through Blueprint (BP) programming. A dedicated BP logic has been implemented to allow the configuration of aesthetic variants, supported by photorealistic materials and algorithms for simulating interior furniture components, aimed at validating the ergonomics of the yacht's confined loft spaces. Using a ray-cast targeting logic and activating the command with the dedicated button on the controller, the user can easily cycle through material variants (Figure 3) and interact with the yacht's internal and external components, without the need for an overlaid menu. This approach was chosen to prioritize the usability and simplicity of the interface. Figure 2: Three-dimensional menu widget for collaborative and inspection tools **(left)**; example of X-ray application in the yacht loft (right). In the scene, the user can move using the teleportation metaphor (Figure 4 left) or quick access points (Bookmarks) to explore the model and access an off-board PoV for an overview of the configured yacht. (Figure 4 right). At the start of a collaborative session, the initial user (_Host_) enables the server, allowing participants (_Clients_) to access the shared scene. Each _Client_, equipped with an individual headset and computer, can join the session remotely by connecting to a shared network (Wi-Fi or VPN). In basic multiplayer solutions, only the _Host_ has the authority to edit the scene on the server and share it with _Clients_. Although default template features are provided with appropriate programming measures, implemented functionalities (e.g., material changes, animations, etc.) require tailored multi-user logic to allow all users to actively interact with the scene during the session. To address this, we developed dedicated algorithms for _Replication_ and _Multicast_ to support multi-directional synchronization between the actions of the _Host_ and the _Clients_.