# Extended Reality: Types and Applications
## 5 Software in XR  
### Types of Software by Implemented Platform  
There exist a lot of types of extended reality HMDs, standalone devices, or connected to the computer. Standalone devices like Meta Quest usually work using a modified version \begin{table}
\begin{tabular}{c c c c c c} \hline \hline
**Hardware** & **Type of XR** & **Task** & **Advantages** & **Disadvantages** & **Reference** \\ \hline \multirow{4}{*}{Meta Quest 2/3} & \multirow{4}{*}{MR/AR/VR} & Provide & \multirow{4}{*}{Standalone device,} & \multirow{4}{*}{Battery life of 2 h,} \\  & & visualization on an & & & \\  & & LCD by capturing & & & \\  & & the real world using & & & \\  & & a camera; VR & world is captured & & \\  & & headset & using a camera & & \\  & & with cameras & & & \\ \hline \multirow{4}{*}{HoloLens} & \multirow{4}{*}{MR/AR} & Uses transparent & Standalone device, & \multirow{4}{*}{Battery life of 2 h,} \\  & & lenses for viewing & & & \\  & & the real world and a & & & \\  & & projector to overlay & & & \\  & & virtual visualization & & & \\  & & & & & \\  & & & & & \\ \hline \multirow{4}{*}{HTC Vive Oculus Rift} & \multirow{4}{*}{MR/AR/VR} & High-quality & \multirow{4}{*}{Constructed to PC} & \multirow{4}{*}{Always need to be} \\  & & MR/VR that uses a & & & \\  & & cable connection to & & & \\  & & the PC with high & & & \\  & & calculation power & & & \\  & & & & & \\ \hline \multirow{4}{*}{Samsung Gear VR Google Cardboard} & \multirow{4}{*}{MR} & Phone adapters to & Adapter for & \multirow{4}{*}{Battery life depends on the} \\  & & get the VR & & & \\  & & experience at a low & & & \\  & & cost & & & \\  & & & & & \\  & & & & & \\  & & & & & \\  & & & & & \\  & & & & & \\ \hline \multirow{4}{*}{PC monitor and camera} & \multirow{4}{*}{AR} & \multirow{4}{*}{Usual way to receive visual information} & Virtual image viewed & The monitor is & \multirow{4}{*}{[15]} \\  & & & using a LCD, real & & \\  & & & world is captured & & \\  & & & using an & & \\  & & & external camera & & \\ \hline \multirow{4}{*}{Smartphone/tablet} & \multirow{4}{*}{AR} & Portable method for & Virtual image viewed & \multirow{4}{*}{Lack of immersion in AR} \\  & & AR visualization & using a LCD, real & & \\  & & AR visualization & & & \\  & & & & \\  & & & & \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Classification of interface types in XR. of Android OS. This includes a special algorithm for visual \"Simultaneous Localization and Mapping\" (vSLAM) [73; 74] This algorithm gives the headset the ability to create a map of a working environment using cameras to track the user's position in a room. It can also detect objects and markers. The created map allows the user to navigate in that environment using virtual coordinates and rotation angles. With each added pass of scanning through the same place, the detail of the map improves. There are many platforms for creating augmented reality applications, mostly using real-time rendering engines. The most well-known are game engines such as Unity 3D and Unreal Engine [38]. Both game engines provide tools to create XR programs and support various platforms, such as Windows, Mac OS, Android, iOS, PlayStation, and others. These two game engines have assorted flavors. Unity is more open and focused on the rapid development of small games and applications, which is possible due to its exceptionally large developer community. Basically, in research, Unity 3D is usually used because it offers very flexible settings and a lot of add-ons and allows you to easily and quickly create software and hardware systems. Thus, it is often used in various experiments [59; 75]. The Unreal Engine is more focused on high-quality graphics and large, detailed virtual worlds, which can make it difficult to develop small applications. A big plus of the Unreal Engine is its blueprints, which allow you to graphically program the virtual objects you use. This makes it easier to understand the program you are creating and to create simple projects without much knowledge of programming.