Virtual reality (VR) allows users to interact with simulated environments, whether replicating the real world or an imaginary world. VR has five main components - dimensionality, motion/animation, interaction, viewpoint, and immersion. It can be used for training, education, or games. There are various types of VR systems including non-immersive desktop systems, semi-immersive projection systems, and fully immersive head-mounted display systems. Key VR hardware includes head-mounted displays, data gloves, tracking devices, and cave automatic virtual environments. VR software includes toolkits for programming applications and authoring systems for creating worlds graphically.