# The VIRTUALDiver Project. Making Greece's Underwater Cultural Heritage Accessible to the Public
## Interaction Components and Methods  
The VIRTUALDiver was a custom-made, add-on environment within the Unity 3D authoring tool [35], providing a vast set of interaction design methods for content presentation and storytelling. Virtual Diver Platform handles high-quality and resolution assets like 3D objects, videos, and images. Besides that, the goal was to provide seamless interaction with end-users. These requirements helped us set the hardware specifications both for the interaction with the Virtual Diver Platform as well as the exported experience. As a minimum set-up according to the current technological standards, the following specifications were suggested: Processor Intel Core i7-8700 [36] or AMD Ryzen 7,2700 [37], Graphics Processing Unit: NVIDIA GeForce RTX 2080 [38] or NVIDIA Quadro RTX 6000 [38], Main Memory: 32 GB, Storage: NVMe SSD 250 GB, Head Mounted Display: Oculus Rift S [39] or better, Operating System: Windows 10 (64-bit) [40]. Utilizing the scripting capability of Unity 3D, a series of algorithms (scripts) were developed as the programming basis for creating special tools for interaction with multimedia content (Interaction Components). The interaction tools were grouped in a library that allows the design team to implement multimodal interactive experiences through narrative scenarios. The implementation of the Interaction Components was divided into 2 sections. The 1 st section concerned the creation of tools (editor-scripts) specially designed for use within the Unity 3D environment in order to assist the design team in creating and enriching various Points of interest (POIs) with multimedia content, thus creating a database (scriptable object) within the platform. The 2 nd section concerned the development of User Interface (UI) representational tools that will communicate with the database and present the multimedia content to the end-users of the narrative experiences in the best possible way. The 1 st step in creating the Interaction Components was to determine the requirements and specifications of each Component, as well as what kind of multimedia it would deal with. Specialized media types were considered, such as the use of high-resolution 3D models [41], high-resolution 360\({}^{\circ}\) spherical video playback, 360\({}^{\circ}\) virtual tour reproduction using high-resolutionphotographic equipment [42], the ability to reproduce spatial 3D audio, etc. Following that, the needs of the basic functions of the interaction tools were identified. Taking into account the above requirements and utilizing the capabilities of Unity 3D authoring tool, a Scriptable Object was created, which acted as the database of the narrative's POIs. Scriptable Objects are databases that can contain large amounts of data by reducing memory usage of the project, as data copying is limited. The design team adds the Interaction Components corresponding to the multimedia they want to present to the Game Object that represents the POI and forms the way it will be presented as well. Regarding the creation of the Interaction Components' interfaces, in the Unity Editor, the emphasis was placed on simplified design and ease of use by people with varying degrees of familiarity with Unity 3D authoring tool. The following functional requirements were considered throughout the design process of the interface of the Interaction Components in the Unity editor (Figure 1):  
1. Proper visualization of the type of media that the tool will manage through a representative icon (e.g., image thumbnail icon),
2. The use of a title and a related auxiliary summary that will explain the properties of the POI, and
3. The selection and attachment of the interaction tools through drop-down menus in order to form the narrative scenarios for each landmark.