A web framework and browser for building and experiencing rich virtual reality environments directly in the browser.
JanusWeb is an open-source web framework and browser that enables developers to build and deploy rich virtual reality experiences directly in the browser. It uses Three.js and WebGL for rendering and allows creation of interactive 3D environments accessible on desktop, mobile, and VR devices via standard web technologies. The project solves the problem of making VR content easily shareable and accessible without requiring users to install dedicated applications.
Web developers and creators looking to build browser-based virtual reality experiences, interactive 3D environments, or social VR spaces without deep expertise in native VR development.
Developers choose JanusWeb because it provides a complete, scriptable framework for creating web-native VR experiences with built-in multiplayer support, cross-platform compatibility, and the ability to self-host or embed easily into existing websites.
An in-browser implementation of JanusVR
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables browsing interconnected XR experiences across the web using a unified layer, similar to how hyperlinks work in 2D web pages, as highlighted in the README's philosophy.
Supports a wide range of VR devices from Oculus Rift to mobile Cardboard via the WebVR API, making experiences accessible on desktop, mobile, and VR without native apps.
Includes networking out of the box for user interaction across all connected devices, facilitating multiplayer environments without additional server setup.
Imports popular formats like Collada, OBJ, and glTF, allowing easy integration of assets from common 3D modeling tools into web VR experiences.
Offers a powerful API for customized applications, bots, and server-side logic via NodeJS, enabling headless operations and complex interactivity.
The README links to external guides like 'janus-guide' which are community-maintained and may lack consistency, making onboarding challenging for new developers.
VOIP functionality is disabled pending browser support, and NPM packages are listed as TODO, indicating the project isn't fully production-ready for all use cases.
Requires learning JML (JanusVR Markup Language) for building experiences, which adds a learning curve compared to using standard HTML or frameworks like A-Frame.
Being browser-based with Three.js, it may struggle with highly detailed 3D environments or large numbers of concurrent users compared to native VR applications.