## 2 Related Works  
Simulation through extended reality is gaining more and more attention in manifold domains requiring computer vision like robotic manufacturing [16; 17; 18], the automotive industry [19; 20], video games [21], fitting rooms [22], mulsemedia setups [23], and IoT-ready WebApps [24], among others. In fact, by creating virtual environments, synthetic training datasets can be generated in a controllable and customizable manner for further solving common computer vision tasks and avoiding the challenges of collecting and annotating data in the real world [25; 26]. For instance, such synthetic images have been used in Unity in vision-based detection tasks (e.g., human body parts [27], 3D markers [28]). In the proper context of UAV research, a framework has been developed for accelerating computer vision performance in data collection, detection, passive ranging, and human-robot teaming [29]. Moreover, in a recent a project, a robot with a soft gripper was aimed at grasping a drone in mid-air [30]. The soft hand was featured with a unique colour-based force estimation technology based on computer vision.  
In recent times, some comparisons between C++ and Python programming languages have been performed. For example, a recent article reviewed and discussed various applications of object-oriented programming languages, where emphasis mainly was given to differentiating C++, Python and Java [31]. According to this article, C++ offers facility for low-level memory manipulation and efficient management of memory space. However, it does not support dynamic memory allocation, garbage pickup and threads for built-in facilities. On the other hand, the dynamic nature of Python makes it a slow language due to its higher execution time, and hence not suitable for faster applications. Moreover, it is not suitable for memory-optimised processes, and it is also vulnerable for run-time errors and faces problems while accessing huge databases. Another study concluded that the Python programming language is less complex than the C++ programming language [32]. The results offered by a comparative analysis in terms of memory and time indicated that C++ is faster than Python in execution speed but Python serves as a better language for beginners due to its simplicity [33]. The authors concluded that the language should be selected according to the type of project looking for the best results.  
OpenCV is one of the most important and productive libraries for implementing computer vision algorithms [34; 35; 36]. Studies have shown that in terms of time consumption it outperforms other libraries like dlib [35] and tools like MATLAB. OpenCV is written in C++ and its primary interface is in C++. Therefore, the use of OpenCV natively from C++ facilitates the incorporation of video processing. Hence, a first approach to image processing from Unity would be to develop a native C++ dynamic link library (DLL) for use in OpenCV. OpenCV as a reference library for image processing provides bindings in Python, Java and MATLAB/OCTAVE. Although C++ is itself the most widely used programming language in OpenCV, Python stands out for its ease of use [37]. In this sense, an external module programmed in Python would be a second approach to Unity image processing using OpenCV algorithms. In this way, the external program communicates with Unity to receive the images from the virtual camera and returns the results of video processing.  
Among the possible communication options is the Message Queue Telemetry Transport (MQTT) protocol. MQTT is a broker-based publishing/subscribing instant messaging protocol; it is open, lightweight, easy to implement and does not need a big band weight [38]. MQTT has been selected in our approach as it has already shown excellent results in our previous works for MATLAB/Simulink integration [9; 39]. Moreover, the combination of an external module programmed in Python for image processing and communicated via MQTT has recently been implemented to evaluate emotion recognition as part of ongoing research [40; 41].