# xr ## Documentation - [Introduction](/getting-started/introduction): 🤳 XR for react-three-fiber - [Convert to XR](/getting-started/convert-to-xr): How to convert an existing react-three-fiber app into an interactive immersive experience. - [Development Setup](/getting-started/development-setup): Setup your development environment for building XR experiences. - [Examples](/getting-started/examples): Examples made with @react-three/xr - [Showcases](/getting-started/showcases): Public products build with @react-three/xr - [FAQ](/getting-started/faq): Frequently asked questions about react-three/xr. - [Store](/tutorials/store): What is the XR Store for? - [Interactions](/tutorials/interactions): Build interactions that work across XR and non-XR web applications - [Object Detection](/tutorials/object-detection): Use detected objects such as meshes and planes for rendering, scene understanding, physics, and more - [Origin](/tutorials/origin): Control the user's transformation by setting the XR session origin - [Teleportation](/tutorials/teleport): Allow users to move through the scene using teleportation - [Gamepad](/tutorials/gamepad): How to use the XRControllers gamepad? - [Secondary Input Sources](/tutorials/secondary-input-sources): How to use primary and secondary input sources (multiple controllers and hands) simultaneously? - [Layers](/tutorials/layers): How to use display images, videos, and custom renders at high quality on quad, cylinder, and equirect shapes? - [Custom Hands/Controllers/...](/tutorials/custom-inputs): Customize interactions and style of inputs such as hands, controllers, and more - [Anchors](/tutorials/anchors): How to create and manage anchors in your AR experience? - [Dom Overlay](/tutorials/dom-overlay): How to add HTML elements for hand-held AR experiences with Dom overlay? - [Hit Test](/tutorials/hit-test): How to add hit testing capabilities to your AR experiences - [Guards](/tutorials/guards): Render and show parts of your application conditionally using guards - [Performance](/advanced/performance): Important considerations for building performant immersive web applications with react-three/xr - [Render Targets](/advanced/render-targets): How to render offscreen content to a render target while an XR session is active - [Handles](/handles/introduction): Easily build 3D interactions using the concept of handles - [from @react-three/xr v5](/migration/from-react-three-xr-5): Migrate your application from @react-three/xr v5 - [Handle Component](/handles/handle-component): The Handle and HandleTarget components and their properties - [from Natuerlich](/migration/from-natuerlich): Migrate your application from natuerlich - [Prebuilt Handles for Editor Use Cases](/handles/prebuild-handles): The Handle and HandleTarget components and their properties - [ARButton](/api/deprecated_button.arbutton) - [Screen Handles](/handles/screen-handle-components): Orbit and Map Handles as replacements for Orbit and Map controls - [CombinedPointer](/api/pointer.combinedpointer) - [createXRStore](/api/xr.createxrstore) - [DefaultXRController](/api/default.defaultxrcontroller) - [DefaultXRControllerGrabPointer](/api/default.defaultxrcontrollergrabpointer) - [DefaultXRGaze](/api/default.defaultxrgaze) - [DefaultXRHand](/api/default.defaultxrhand) - [DefaultXRHandGrabPointer](/api/default.defaultxrhandgrabpointer) - [DefaultXRHandTouchPointer](/api/default.defaultxrhandtouchpointer) - [DefaultXRInputSourceRayPointer](/api/default.defaultxrinputsourceraypointer) - [DefaultXRInputSourceTeleportPointer](/api/default.defaultxrinputsourceteleportpointer) - [DefaultXRScreenInput](/api/default.defaultxrscreeninput) - [DefaultXRTransientPointer](/api/default.defaultxrtransientpointer) - [IfFacingCamera](/api/guard_facing-camera.iffacingcamera) - [IfInSessionMode](/api/guard_session-mode.ifinsessionmode) - [IfSessionModeSupported](/api/guard_session-supported.ifsessionmodesupported) - [IfSessionVisible](/api/guard_focus.ifsessionvisible) - [Interactive](/api/deprecated_interactive.interactive) - [NotInXR](/api/xr.notinxr) - [PointerCursorModel](/api/pointer.pointercursormodel) - [PointerRayModel](/api/pointer.pointerraymodel) - [RayGrab](/api/deprecated_ray-grab.raygrab) - [ShowIfFacingCamera](/api/guard_facing-camera.showiffacingcamera) - [ShowIfInSessionMode](/api/guard_session-mode.showifinsessionmode) - [ShowIfSessionModeSupported](/api/guard_session-supported.showifsessionmodesupported) - [ShowIfSessionVisible](/api/guard_focus.showifsessionvisible) - [TeleportTarget](/api/teleport.teleporttarget) - [UNSAFE_useXRStore](/api/xr.unsafe_usexrstore) - [useApplyXRSpaceMatrix](/api/space.useapplyxrspacematrix) - [useGetXRSpaceMatrix](/api/space.usegetxrspacematrix) - [useGrabPointer](/api/pointer.usegrabpointer) - [useHover](/api/hooks.usehover) - [useInitRoomCapture](/api/hooks.useinitroomcapture) - [useInteraction](/api/deprecated_hooks.useinteraction) - [useLinesPointer](/api/pointer.uselinespointer) - [useLoadXRControllerLayout](/api/controller.useloadxrcontrollerlayout) - [useLoadXRControllerModel](/api/controller.useloadxrcontrollermodel) - [usePointerXRInputSourceEvents](/api/pointer.usepointerxrinputsourceevents) - [useRayPointer](/api/pointer.useraypointer) - [useRequestXRAnchor](/api/anchor.userequestxranchor) - [useSessionFeatureEnabled](/api/hooks.usesessionfeatureenabled) - [useSessionModeSupported](/api/hooks.usesessionmodesupported) - [useTouchPointer](/api/pointer.usetouchpointer) - [useXR](/api/xr.usexr) - [useXRAnchor](/api/anchor.usexranchor) - [useXRControllerButtonEvent](/api/controller.usexrcontrollerbuttonevent) - [useXRControllerLocomotion](/api/controller-locomotion.usexrcontrollerlocomotion) - [useXRControllerState](/api/deprecated_hooks.usexrcontrollerstate) - [useXREvent](/api/deprecated_hooks.usexrevent) - [useXRGazeState](/api/deprecated_hooks.usexrgazestate) - [useXRHandState](/api/deprecated_hooks.usexrhandstate) - [useXRHitTest](/api/hit-test.usexrhittest) - [useXRHitTestSource](/api/hit-test.usexrhittestsource) - [useXRInputSourceEvent](/api/input.usexrinputsourceevent) - [useXRMeshes](/api/mesh.usexrmeshes) - [useXRMeshGeometry](/api/mesh.usexrmeshgeometry) - [useXRPlaneGeometry](/api/plane.usexrplanegeometry) - [useXRPlanes](/api/plane.usexrplanes) - [useXRReferenceSpace](/api/deprecated_hooks.usexrreferencespace) - [useXRRequestHitTest](/api/hit-test.usexrrequesthittest) - [useXRScreenInputState](/api/deprecated_hooks.usexrscreeninputstate) - [useXRSessionFeatureEnabled](/api/hooks.usexrsessionfeatureenabled) - [useXRSessionModeSupported](/api/hooks.usexrsessionmodesupported) - [useXRSessionVisibilityState](/api/hooks.usexrsessionvisibilitystate) - [useXRSpace](/api/space.usexrspace) - [useXRStore](/api/xr.usexrstore) - [useXRTransientPointerState](/api/deprecated_hooks.usexrtransientpointerstate) - [VRButton](/api/deprecated_button.vrbutton) - [XR](/api/xr.xr) - [XRButton](/api/deprecated_button.xrbutton) - [XRControllerComponent](/api/controller.xrcontrollercomponent) - [XRControllerModel](/api/controller.xrcontrollermodel) - [XRDomOverlay](/api/dom-overlay.xrdomoverlay) - [XRHandJoint](/api/hand.xrhandjoint) - [XRHandModel](/api/hand.xrhandmodel) - [XRHitTest](/api/hit-test.xrhittest) - [XRLayer](/api/layer.xrlayer) - [XRMeshModel](/api/mesh.xrmeshmodel) - [XROrigin](/api/origin.xrorigin) - [XRPlaneModel](/api/plane.xrplanemodel) - [XRSpace](/api/space.xrspace) - [XRSpaceType](/api/space.xrspacetype) ## MCP Server This documentation is available via Model Context Protocol (MCP) server at https://docs.pmnd.rs/api/mcp Configure in your MCP client: ```json { "mcpServers": { "pmndrs": { "type": "http", "url": "https://docs.pmnd.rs/api/mcp" } } } ``` --- For full documentation content, see llms-full.txt