Skip to main content

Building blocks for WebXR apps

281
GitHub Stars
141
Curated Resources
15
Categories
3 hours ago
Last Refreshed
Engine / FrameworkState ManagementUtilitiesInteraction2D GUIAnimationParticle SystemPhysics EngineGameplayGraphicsMaterial / ShaderAssetsAudioDebugLearning Resources

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

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 →