awesome-webxr-development
github.com/pico-developer/awesome-webxr-development ↗Building blocks for WebXR apps
Use this list with your AI agent
Add the Context Awesome MCP server to Claude, Cursor, or any MCP client, then ask:
"Show me webxr resources from awesome-webxr-development"
Installation instructions →What's inside
Learning Resources
- Above Paradowski WebXR Mini-GolfWebXR
Taking
- AFrame - Performance Best PracticesWebXR
Performance Best Practices
- Building with WebXR at the Presence Platform HackathonWebXR
Five of these developer teams built WebXR apps that ran directly inside the Meta Quest Browser, without having to install anything
- Discover three.js3D Engine / Framework
A complete introduction to the web as a platform for 3D graphics using the three.js WebGL library, from one of the core three.js developers. Designed to get you started on your journey of creating modern, professional-quality 3D web applications in the shortest time possible
- GAMES101: 现代计算机图形学入门Graphics API, Computer Graphics
- Introduction to WebGPU - CIS 565 GPU Programming Fall 2022Graphics API, Computer Graphics
Covering the WebGPU graphics API. Covers a wide range of WebGPU topics, including API overview, comparison with WebGL, best practices, and more
Engine / Framework
- A-FrameGeneral 3D App Framework
A web framework for building 3D/AR/VR experiences. Make 3D worlds with HTML and Entity-Component On any headset, mobile and desktop
- Babylon.jsGeneral 3D App Framework
A powerful, beautiful, simple, and open game and rendering engine packed into a friendly JavaScript framework
- Babylon.js EditorVisual Editor
Provide community-driven powerful and simple tools that help Babylon.JS users to create beautiful, awesome 3D games / applications
- create-r3f-appGeneral 3D App Framework
- ElixrGeneral 3D App Framework
A lightweight and flexible framework for building WebXR experiences. Built on top of three.js, Rapier physics engine and
- Ethereal Engine3D Game Engine
Metaverse infrastructure for everyone. Everything you need to build and deploy scalable realtime 3D social apps and more
Material / Shader
- AlmaVisual Shader Editor
Generative Graphics Creator
- Babylon NME (Node Material Editor)Visual Shader Editor
Shader-based materials editor for Babylon.js
- Custom Shader Material (CSM)
Extend Three.js standard materials with your own shaders! It Supports both Vanilla and React!
- enhanceShaderLighting
Better lighting in three.js. Make your PBR material look more realistic. Give the user a lot of options to tweak lighting so that a certain combination of settings will give a decent looking result
- laminaVisual Shader Editor
An extensible, layer based shader material for ThreeJS. Built on top of three-custom-shader-material (CSM) and any effects that are achieved by lamina can be done with CSM in a predictable and performant manner albeit at a lower level
- NodeToyVisual Shader Editor
The most powerful material editor on the web. Built for ThreeJS & React-Three-Fiber. Create, fork and publish shader graphs with the world using an intuitive and easy to use tool built for all
Assets
- Asset ExplorerUSD
Contains glTF models and their USDZ counterparts. This page is targeted at implementers, developers, and designers working with these file formats. A clear goal is to allow you to download files for a specific usecase and check if your target viewer/platform supports what you want it to support
- glTFastGLTF & KTX2
Enables use of glTF asset files in Unity (import / export)
- gltfjsxGLTF & KTX2
A small command-line tool that turns GLTF assets into declarative and re-usable react-three-fiber JSX components
- gltfpackGLTF & KTX2
A tool that can automatically optimize glTF files to reduce the download size and improve loading and rendering speed
- glTF PipelineGLTF & KTX2
Content pipeline tools for optimizing glTF assets by the Cesium team
- glTF-TransformGLTF & KTX2
glTF 2.0 SDK for JavaScript and TypeScript, on Web and Node.js. Provides fast, reproducible, and lossless control of the low-level details in a 3D model
State Management
- Becsy
Multi-threaded ECS for TypeScript and JavaScript
- bitECS
Functional, minimal, data-oriented, ultra-high performance ECS library written using JavaScript TypedArrays
- Jotai
Primitive and flexible state management for React. Scales from a simple useState replacement to an enterprise TypeScript application
- Miniplex
A developer-friendly entity management system for games and similarly demanding applications, based on ECS architecture
- Valtio
Makes proxy-state simple for React and Vanilla
- XState
JavaScript and TypeScript finite state machines and statecharts for the modern web
2D GUI
- @coconut-xr/inputForm
input fields for 3D UIs with @coconut-xr/koestlich
- @coconut-xr/koestlichLayout
Builds on yoga (flexbox implementation), Three.js to deliver compatible and performant 3D UIs with out-of-the-box animations
- @etherealengine/xruiHTML Layout
XRUI provides functionlity for using DOM elements to construct a user interface for XR applications
- html2canvasHTML Layout
JavaScript HTML renderer. Allows you to take "screenshots" of webpages or parts of it, directly on the users browser
- HTMLMeshHTML Layout
- r3f-formForm
A webGL form component for use with React Three Fiber. Ultimately, the goal is to have fully functioning HTML
Interaction
- @coconut-xr/natuerlichXR Interaction
WebXR Interaction library. Deliver composable and extensible interactions for immersive experiences
- Floating Capsule Character ControllerDesktop Interaction
Rigibody control
- Handy.jsXR Interaction
Makes defining and recognizing custom hand poses in WebXR a snap
- MeshWalk.jsMobile Interaction
A JS library which helps your TPS game development with three.js
- NippleJSMobile Interaction
A vanilla virtual joystick for touch capable interfaces
- @react-three/xrXR Interaction
React components and hooks for creating VR/AR applications with @react-three/fiber
Debug
- DreiGLTF & KTX2
Collect the average fps over time
- Immersive Web Emulator
A browser extension that assists WebXR content creation. It enables developers to responsively run WebXR apps on a desktop browser without the need of an XR device. Inspired by the official WebXR Emulator Extension by Mozilla Reality and our previous efforts of extending it for better functionality, designed and rebuilt from the ground up
- LogXR
A debugging utility that makes it easy to view console logs in WebXR experiences. Currently, LogXR only supports Three.js, with support for Babylon.js coming soon
- R3F-Perf
Easily monitor the performances of your @react-three/fiber application
- @react-three/test-renderer
A React testing renderer for threejs in node
- Spector.js
A complete engine agnostic JavaScript framework for exploring and troubleshooting your WebGL scenes with ease
Showing a sample of 141 resources. View the full list on GitHub →