Documentation
Getting Started
DiscoVR Engine is a framework built on top of A-Frame for building interactive XR experiences — virtual tours, metaverses, VR games — declaratively, with a single <discovr> tag in an HTML page.
It is device-agnostic: it runs on any browser capable of running A-Frame, including desktop, mobile, and VR headsets.
Requirements
- A modern browser with WebGL support (and WebXR support if you want VR headset compatibility).
- No build tools, bundler, or install step. DiscoVR Engine is loaded directly by the browser as a native ES module, and it fetches everything else it needs on its own.
Installation
Add DiscoVR Engine to your page by loading discovr-core.js as a module script:
<script type="module" src="https://core.discovr-engine.eu/discovr-core.js"></script>
It must be loaded with type="module" (not as a classic script), since it relies on native ES module imports.
Your first scene
Add a <discovr> tag anywhere in the page body. Its attributes configure the experience; no other markup is required to get a scene on screen.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>My DiscoVR Experience</title>
</head>
<body>
<discovr presets="defaultScene:true;defaultLights:true;defaultContents:true"></discovr>
<script type="module" src="https://core.discovr-engine.eu/discovr-core.js"></script>
</body>
</html>
Opening this page will:
- Show a loading screen while DiscoVR Engine fetches A-Frame and its own components.
- Create an
<a-scene>with a default environment, ambient and directional lighting, and a couple of test objects (a prototype cube and an interactive box). - Hide the loading screen once the scene has rendered.
The presets attribute above enables demo content so you have something to look at right away. A real experience typically drops defaultScene/defaultContents entirely (or sets them to false) and adds its own content instead of the built-in test objects — the scene still gets a full, customizable setup (background, renderer, shadows, fog, ...) either way, see the Configuration Reference for the scene* keys that control it.
What's next
- Configuration reference — the full list of
<discovr>attributes (environment, player rig, teleport, networking, audio, UI). - Programmatic scene building — the
DiscoVRclass, for building (part of) a scene in JavaScript instead of tag attributes. - Examples — complete pages for common scenarios: a virtual tour, a multiplayer room, a physics playground, an embedded widget.