diff --git a/files/en-us/_redirects.txt b/files/en-us/_redirects.txt
index 950a9e9f052e3eb..2bbf94dc68df660 100644
--- a/files/en-us/_redirects.txt
+++ b/files/en-us/_redirects.txt
@@ -3511,6 +3511,7 @@
/en-US/docs/Games/Introduction_to_HTML5_Game_Development_(summary) /en-US/docs/Games/Introduction_to_HTML5_Game_Development
/en-US/docs/Games/Introduction_to_HTML5_Game_Gevelopment_(summary) /en-US/docs/Games/Introduction_to_HTML5_Game_Development
/en-US/docs/Games/Techniques/3D_collision_detection/Bounding_boxes_with_THREE.js /en-US/docs/Games/Techniques/3D_collision_detection/Bounding_volume_collision_detection_with_THREE.js
+/en-US/docs/Games/Techniques/3D_on_the_web/WebVR /en-US/docs/Games/Techniques/3D_on_the_web/WebXR
/en-US/docs/Games/Techniques/Crisp,_pixel_art_look_with_image-rendering /en-US/docs/Games/Techniques/Crisp_pixel_art_look
/en-US/docs/Games/Techniques/Efficient_animation_for_web_games /en-US/docs/Games/Techniques
/en-US/docs/Games/Techniques/Fridge_Gamepad_API /en-US/docs/Games/Techniques/Controls_Gamepad_API
diff --git a/files/en-us/_wikihistory.json b/files/en-us/_wikihistory.json
index 23feadd94f5595d..bcee62a4cd1d879 100644
--- a/files/en-us/_wikihistory.json
+++ b/files/en-us/_wikihistory.json
@@ -313,7 +313,7 @@
"PushpitaPikuDey"
]
},
- "Games/Techniques/3D_on_the_web/WebVR": {
+ "Games/Techniques/3D_on_the_web/WebXR": {
"modified": "2020-10-30T12:56:29.452Z",
"contributors": [
"Wind1808",
diff --git a/files/en-us/games/techniques/3d_on_the_web/building_up_a_basic_demo_with_a-frame/index.md b/files/en-us/games/techniques/3d_on_the_web/building_up_a_basic_demo_with_a-frame/index.md
index fcd7bb48728d3db..039d6c263d4cf31 100644
--- a/files/en-us/games/techniques/3d_on_the_web/building_up_a_basic_demo_with_a-frame/index.md
+++ b/files/en-us/games/techniques/3d_on_the_web/building_up_a_basic_demo_with_a-frame/index.md
@@ -6,7 +6,7 @@ page-type: guide
{{GamesSidebar}}
-The [WebVR](/en-US/docs/Games/Techniques/3D_on_the_web/WebVR) and [WebGL](/en-US/docs/Web/API/WebGL_API) APIs already enable us to start creating virtual reality (VR) experiences inside web browsers, but the community is still waiting for tools and libraries to appear, to make this easier. Mozilla's [A-Frame](https://aframe.io/) framework provides a markup language allowing us to build 3D VR landscapes using a system familiar to web developers, which follows game development coding principles; this is useful for quickly and successfully building prototypes and demos, without having to write a lot of JavaScript or GLSL. This article explains how to get up and running with A-Frame, and how to use it to build up a simple demo.
+The [WebXR](/en-US/docs/Games/Techniques/3D_on_the_web/WebXR) and [WebGL](/en-US/docs/Web/API/WebGL_API) APIs already enable us to start creating virtual reality (VR) and augmented reality (AR) experiences inside web browsers, but the community is still waiting for tools and libraries to appear, to make this easier. Mozilla's [A-Frame](https://aframe.io/) framework provides a markup language allowing us to build 3D VR landscapes using a system familiar to web developers, which follows game development coding principles; this is useful for quickly and successfully building prototypes and demos, without having to write a lot of JavaScript or GLSL. This article explains how to get up and running with A-Frame, and how to use it to build up a simple demo.
## High level overview
diff --git a/files/en-us/games/techniques/3d_on_the_web/index.md b/files/en-us/games/techniques/3d_on_the_web/index.md
index c538d41fa1edc85..7b5c26aac080207 100644
--- a/files/en-us/games/techniques/3d_on_the_web/index.md
+++ b/files/en-us/games/techniques/3d_on_the_web/index.md
@@ -33,9 +33,9 @@ It's hard to imagine a game without collision detection — we always need to wo
- [2D collision detection](/en-US/docs/Games/Techniques/2D_collision_detection)
- [3D collision detection](/en-US/docs/Games/Techniques/3D_collision_detection)
-### WebVR
+### WebXR
-The concept of virtual reality is not new, but it's storming onto the web thanks to hardware advancements such as the [Oculus Rift](https://www.oculus.com/rift/), and the (currently experimental) [WebVR API](/en-US/docs/Web/API/WebVR_API) for capturing information from VR hardware and making it available for use in JavaScript applications. For more, read [WebVR — Virtual Reality for the Web](/en-US/docs/Games/Techniques/3D_on_the_web/WebVR).
+The concept of virtual reality is not new, but it's storming onto the web thanks to hardware advancements such as the [Meta Quest](https://www.meta.com/quest/), and the (currently experimental) [WebXR API](/en-US/docs/Web/API/WebXR_Device_API) for capturing information from XR hardware and making it available for use in JavaScript applications. For more, read [WebXR — Virtual and Augmented Reality for the Web](/en-US/docs/Games/Techniques/3D_on_the_web/WebXR).
There's also the [Building up a basic demo with A-Frame](/en-US/docs/Games/Techniques/3D_on_the_web/Building_up_a_basic_demo_with_A-Frame) article showing you how easy it is to build 3D environments for virtual reality using the [A-Frame](https://aframe.io/) framework.
diff --git a/files/en-us/games/techniques/3d_on_the_web/webvr/hmds.jpg b/files/en-us/games/techniques/3d_on_the_web/webvr/hmds.jpg
deleted file mode 100644
index 5ce29503f3bbbfe..000000000000000
Binary files a/files/en-us/games/techniques/3d_on_the_web/webvr/hmds.jpg and /dev/null differ
diff --git a/files/en-us/games/techniques/3d_on_the_web/webvr/index.md b/files/en-us/games/techniques/3d_on_the_web/webvr/index.md
deleted file mode 100644
index 1abb11a80df1c1a..000000000000000
--- a/files/en-us/games/techniques/3d_on_the_web/webvr/index.md
+++ /dev/null
@@ -1,113 +0,0 @@
----
-title: WebVR — Virtual Reality for the Web
-slug: Games/Techniques/3D_on_the_web/WebVR
-page-type: guide
----
-
-{{GamesSidebar}}
-
-The concept of virtual reality in itself isn't new, but now we have the technology to have it working as it should be, and a JavaScript API to make use of it in web applications. This article introduced WebVR from the perspective of its use in games.
-
-> **Note:** WebVR API is replaced by [WebXR Device API](/en-US/docs/Web/API/WebXR_Device_API). WebVR was never ratified as a standard, was implemented and enabled by default in very few browsers and supported a small number of devices.
-
-## VR devices
-
-With the popularity of Oculus Rift and a lot of other devices in production coming soon to the market, the future looks bright — we already have sufficient technology to make the VR experience "good enough" for playing games. There are many devices to chose from: desktop ones like Oculus Rift or HTC Vive, through consoles with Playstation VR (which admittedly doesn't support WebVR at this time), to mobile experiences like Gear VR or Google Cardboard.
-
-![Five different VR devices, ranging from cardboard to high-end.](hmds.jpg)
-
-> **Note:** For more information, read our [WebVR Concepts](/en-US/docs/Web/API/WebVR_API/Concepts) article.
-
-## The WebVR API
-
-The [WebVR API](/en-US/docs/Web/API/WebVR_API) is the central API for capturing information on VR Devices connected to a computer and headset position/orientation/velocity/acceleration information, and converting that into useful data you can use in your games and other applications.
-
-> **Note:** There are of course other APIs useful for creating games, for example [The Gamepad API](/en-US/docs/Web/API/Gamepad_API) for control inputs, and the [Device Orientation API](/en-US/docs/Web/API/Device_orientation_events/Detecting_device_orientation) for handling display orientation on mobile.
-
-### Browser support and spec status
-
-The [WebVR spec](https://mozvr.github.io/webvr-spec/webvr.html), led by [Vladimir Vukicevic](https://twitter.com/vvuk) from Mozilla and [Brandon Jones](https://twitter.com/tojiro) from Google, is being replaced by the [WebXR Device API](/en-US/docs/Web/API/WebXR_Device_API). WebVR may still be available in some browsers while WebXR is finalized.
-For more info, see the and [WebVR.info](https://webvr.info/) websites.
-
-### Using the WebVR API
-
-The WebVR API is based on two concepts — sending [stereoscopic images](/en-US/docs/Web/API/WebVR_API/Concepts#stereoscopic_vision) to both lenses in your headset and receiving positional data for your head from the sensor, and those two are handled by {{domxref("HMDVRDevice")}} (head-mounted display virtual reality device) and {{domxref("PositionSensorVRDevice")}}.
-
-### Get the devices
-
-To get information about devices connected to your computer, you can use the {{domxref("Navigator/getVRDisplays")}} method:
-
-```js
-navigator.getVRDevices().then((devices) => {
- for (let i = 0; i < devices.length; ++i) {
- if (devices[i] instanceof HMDVRDevice) {
- gHMD = devices[i];
- break;
- }
- }
- if (gHMD) {
- for (let i = 0; i < devices.length; ++i) {
- if (
- devices[i] instanceof PositionSensorVRDevice &&
- devices[i].hardwareUnitId === gHMD.hardwareUnitId
- ) {
- gPositionSensor = devices[i];
- break;
- }
- }
- }
-});
-```
-
-This code will loop through the available devices and assign proper sensors to the headsets — the first `devices` array contains the connected devices, and a check is done to find the {{domxref("HMDVRDevice")}}, and assign it to the `gHMD` variable — using this you can set up the scene, getting the eye parameters, setting the field of view, etc. For example:
-
-```js
-function setCustomFOV(up, right, down, left) {
- const testFOV = new VRFieldOfView(up, right, down, left);
-
- gHMD.setFieldOfView(testFOV, testFOV, 0.01, 10000.0);
-}
-```
-
-The `gPositionSensor` variable holds the {{domxref("PositionSensorVRDevice")}} — using this you can get the current position or orientation state (for example to update the scene view on every frame), or reset the sensor. For example, the below code outputs position information on the screen:
-
-```js
-function setView() {
- const posState = gPositionSensor.getState();
-
- if (posState.hasPosition) {
- const format = (axis) => `${axis}${roundToTwo(posState.position[axis])}`;
- posPara.textContent = `Position: ${axis("x")} ${axis("y")} ${axis("x")}`;
- xPos = -posState.position.x * WIDTH * 2;
- yPos = posState.position.y * HEIGHT * 2;
- zPos = -posState.position.z > 0.01 ? -posState.position.z : 0.01;
- }
-
- // …
-}
-```
-
-For a full explanation and more details of the demo this is taken from, see [Using the WebVR API](/en-US/docs/Web/API/WebVR_API/Using_the_WebVR_API).
-
-## Tools and techniques
-
-The first WebVR experiments and demos used Three.js as it's probably the most popular 3D engine for the web. See the [VREffect](https://github.com/mrdoob/three.js/blob/ca521eb4af7554e760f14d8fe8b451c8ff34deb8/examples/js/effects/VREffect.js) and [VRControls](https://github.com/mrdoob/three.js/blob/abdd1713c606135bc35028c6021698b52f27872b/examples/js/controls/VRControls.js) functions available on the Three.js GitHub to help you implement and handle WebVR with Three.js.
-
-![A 3D representation of a landscape: it's a pinkish sunset, with a blue mountainous land in the background surrounded by a mirror sea and a darker blue island in the second plan.](sechelt.jpg)
-
-Boris Smus has written about the concept of [Responsive WebVR](https://smus.com/responsive-vr/), where a single web game can be played on various devices like laptops without VR hardware, PCs with Oculus Rift, or smartphones inside Google Cardboard and still deliver a unique and valuable experience across all of them. It's like responsive design but applied to the VR world — write once and run in any VR headset, or without it. You can check the [WebVR Boilerplate](https://github.com/borismus/webvr-boilerplate) sources — it's a good example to start learning WebVR from, and a starting point for any web-based VR experience.
-
-There's also a markup framework called [A-Frame](https://aframe.io/) that offers simple building blocks for WebVR, so you can rapidly build and experiment with VR websites and games: read the [Building up a basic demo with A-Frame](/en-US/docs/Games/Techniques/3D_on_the_web/Building_up_a_basic_demo_with_A-Frame) tutorial for more details.
-
-Immersion is more important than gameplay or graphics - you have to feel you're "inside" the experience. It's not easy to achieve, but it doesn't require realistic images. Quite the contrary as having a basic shapes flying around in high frame rate can make a lot. Remember: experimenting is key - see what works for your game in particular.
-
-## The future of WebVR
-
-It's happening — consumer devices are reaching the market right now, and we already have JavaScript APIs to support them on the Web. All we need now is a stable specification, good UX and UI, better hardware and more tools and libraries — and all of that is on the horizon. It's the perfect time to dive in and experiment with WebVR.
-
-## See also
-
-- [WebVR API](/en-US/docs/Web/API/WebVR_API)
-- [WebVR concepts](/en-US/docs/Web/API/WebVR_API/Concepts)
-- [Using the WebVR API](/en-US/docs/Web/API/WebVR_API/Using_the_WebVR_API)
-- [Building up a basic demo with A-Frame](/en-US/docs/Games/Techniques/3D_on_the_web/Building_up_a_basic_demo_with_A-Frame)
diff --git a/files/en-us/games/techniques/3d_on_the_web/webxr/hmds.jpg b/files/en-us/games/techniques/3d_on_the_web/webxr/hmds.jpg
new file mode 100644
index 000000000000000..345d5a969787479
Binary files /dev/null and b/files/en-us/games/techniques/3d_on_the_web/webxr/hmds.jpg differ
diff --git a/files/en-us/games/techniques/3d_on_the_web/webxr/index.md b/files/en-us/games/techniques/3d_on_the_web/webxr/index.md
new file mode 100644
index 000000000000000..8ab07c5c8ba2070
--- /dev/null
+++ b/files/en-us/games/techniques/3d_on_the_web/webxr/index.md
@@ -0,0 +1,57 @@
+---
+title: WebXR — Virtual and Augmented Reality for the Web
+slug: Games/Techniques/3D_on_the_web/WebXR
+page-type: guide
+---
+
+{{GamesSidebar}}
+
+The concepts of virtual reality (VR) and augmented reality (AR) aren't new, but the technology is more accessible than ever. We can also use a JavaScript API to make use of it in web applications. This article introduces WebXR from the perspective of its use in games.
+
+> **Note:** You may see references to the non-standard WebVR API. WebVR was never ratified as a standard, was implemented and enabled by default in very few browsers, and supported only a few devices. The **WebVR** API is replaced by the [**WebXR** Device API](/en-US/docs/Web/API/WebXR_Device_API).
+
+## VR devices
+
+With the popularity of existing VR headsets such as Meta Quest, Valve Index, and PlayStation VR, the future looks bright — we already have sufficient technology to create meaningful VR gaming experiences.
+
+![Three different VR devices: the Meta Quest 3, the Valve Index, and the Sony PSVR2.](hmds.jpg)
+
+### Development of WebVR
+
+The [WebVR spec](https://mozvr.github.io/webvr-spec/webvr.html), led by [Vladimir Vukicevic](https://twitter.com/vvuk) from Mozilla and [Brandon Jones](https://twitter.com/tojiro) from Google, is being replaced by the [WebXR Device API](/en-US/docs/Web/API/WebXR_Device_API). WebVR may still be available in some browsers while WebXR is finalized.
+For more info, see the and [WebVR.info](https://webvr.info/) websites.
+
+## The WebXR API
+
+The core of any WebXR experience is built on top of two foundational concepts:
+
+1. The application must receive real-time data about your headset's position and your controllers' positions in three-dimensional space
+2. The application must render a real-time, stereoscopic view to the headset's display(s) according to that positional data
+
+The [WebXR API](/en-US/docs/Web/API/WebXR_Device_API) is the central API for capturing information about XR devices connected to a computer. The API can capture headset and controller position, orientation, velocity, acceleration, and other information that you can use in your games.
+
+There are other APIs useful for creating games such as [the Gamepad API](/en-US/docs/Web/API/Gamepad_API) for non-XR controller inputs and the [Device Orientation API](/en-US/docs/Web/API/Device_orientation_events/Detecting_device_orientation) for handling display orientation.
+
+### Using the WebXR API
+
+The best place to start with the WebXR API is with our [Fundamentals of WebXR](/en-US/docs/Web/API/WebXR_Device_API/Fundamentals) guide. After that, see [Starting up and shutting down a WebXR session](/en-US/docs/Web/API/WebXR_Device_API/Startup_and_shutdown).
+
+## Tools and techniques
+
+[A-Frame](https://aframe.io/) is a web framework that offers simple building blocks for WebXR, so you can rapidly build and experiment with VR websites and games. You can read MDN's [Building up a basic demo with A-Frame](/en-US/docs/Games/Techniques/3D_on_the_web/Building_up_a_basic_demo_with_A-Frame) tutorial for more details.
+
+Separately, Three.js is one of the most popular 3D engines for the web, and it can be used for WebXR games. Check out Three.js' [How to create VR content](https://threejs.org/docs/#manual/en/introduction/How-to-create-VR-content) documentation to help you make WebXR games with Three.js.
+
+![A 3D representation of a landscape: it's a pinkish sunset, with a blue mountainous land in the background surrounded by a mirror sea and a darker blue island in the second plan.](sechelt.jpg)
+
+Immersion takes priority over gameplay and graphics - you must feel part of the experience. It's not easy to achieve, but it doesn't require realistic images. On the contrary, even basic shapes soaring past at high frame rates can be thrilling if the experience is immersive. Remember: experimenting is key - feel free to go with what works well for your project.
+
+## The future of WebXR
+
+Consumer devices are available on the market, and we have JavaScript APIs to support them on the web. As hardware becomes more affordable and the ecosystem matures, developers can focus on building experiences through good UX and UI. It's the perfect time to dive in and experiment with WebXR.
+
+## See also
+
+- [WebVR Device API](/en-US/docs/Web/API/WebXR_Device_API)
+- [Fundamentals of WebXR](/en-US/docs/Web/API/WebXR_Device_API/Fundamentals)
+- [Building up a basic demo with A-Frame](/en-US/docs/Games/Techniques/3D_on_the_web/Building_up_a_basic_demo_with_A-Frame)
diff --git a/files/en-us/games/techniques/3d_on_the_web/webvr/sechelt.jpg b/files/en-us/games/techniques/3d_on_the_web/webxr/sechelt.jpg
similarity index 100%
rename from files/en-us/games/techniques/3d_on_the_web/webvr/sechelt.jpg
rename to files/en-us/games/techniques/3d_on_the_web/webxr/sechelt.jpg
diff --git a/files/jsondata/GroupData.json b/files/jsondata/GroupData.json
index 2f2f8ca29f47cb7..d51e7cb2a59f0c9 100644
--- a/files/jsondata/GroupData.json
+++ b/files/jsondata/GroupData.json
@@ -2309,7 +2309,14 @@
},
"WebXR Device API": {
"overview": ["WebXR Device API"],
- "guides": ["/docs/Web/API/WebXR_Device_API/Fundamentals"],
+ "guides": [
+ "/docs/Web/API/WebXR_Device_API/Fundamentals",
+ "/docs/Web/API/WebXR_Device_API/Lifecycle",
+ "/docs/Web/API/WebXR_Device_API/Startup_and_shutdown",
+ "/docs/Web/API/WebXR_Device_API/Cameras",
+ "/docs/Web/API/WebXR_Device_API/Geometry",
+ "/docs/Web/API/WebXR_Device_API/Spatial_tracking"
+ ],
"interfaces": [
"XRAnchor",
"XRBoundedReferenceSpace",