AR (Augmented Reality) and VR (Virtual Reality) development involves building immersive digital experiences that blend or replace the physical world with computer-generated 3D environments. AR overlays digital content onto the real world through devices like smartphones or smart glasses, while VR creates fully immersive experiences via headsets. Together with MR (Mixed Reality), these technologies form XR (Extended Reality) — an umbrella term for all immersive computing. Modern development relies on spatial computing principles that understand and interact with 3D space, powered by engines like Unity and Unreal, cross-platform standards like OpenXR, and platform-specific SDKs. The most critical technical challenge is maintaining high frame rates (90Hz minimum) to prevent motion sickness while rendering two slightly different perspectives simultaneously at stereoscopic resolution. Key development considerations include 6DOF tracking for natural movement, spatial audio for realistic soundscapes, hand tracking and controller input, and performance optimization techniques like foveated rendering and occlusion culling to achieve the demanding rendering targets required for comfortable, immersive experiences.
What This Cheat Sheet Covers
This topic spans 12 focused tables and 120 indexed concepts. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
Table 1: Development Platforms & Engines
| Platform | Example | **Description |
|---|---|---|
XRGrabInteractable grabObject;grabObject.selectEntered.AddListener(...); | • Cross-platform 3D engine with component-based framework for VR/AR • includes built-in interactors for grab, poke, ray, and teleport actions across all XR devices. | |
UHeadMountedDisplayFunctionLibrary ::IsHeadMountedDisplayEnabled() | • High-fidelity engine with photorealistic rendering and Blueprint visual scripting • supports VR Template for rapid prototyping with optimized performance settings. | |
navigator.xr.requestSession('immersive-vr').then(session => {...}); | • Browser-based VR/AR standard enabling cross-device experiences without app installation • supports input, hand tracking, and AR hit testing via JavaScript API. | |
OVRCameraRig cameraRig;OVRInput.Get(OVRInput.Button.One); | Native SDK for Quest headsets with passthrough MR, hand tracking, spatial anchors, and platform features like multiplayer and in-app purchases. | |
ImmersiveSpace { RealityView {...} }.immersionStyle(.mixed) | • SwiftUI-based framework for Vision Pro with native spatial computing, volumetric windows, and RealityKit rendering • emphasizes natural input via eye tracking and hand gestures. |