Developers
An engine you can open up.
Everything the editor makes is a web page running DiscoVR Core. You can write the same pages by hand, add your own components, or let an AI assistant drive the editor.
Core: one tag
The <discovr> tag sets up the scene: environment, player, multiplayer, audio, interface. Each attribute is a group of settings.
<script type="module"
src="https://core.discovr-engine.eu/discovr-core.js"></script>
<discovr
environment="preset:forest"
network="enable:true;roomName:demo">
</discovr>Core: the JavaScript class
The DiscoVR class places objects and models from code, once the scene is ready.
// whenSceneReady(): the helper from the docs
whenSceneReady(() => {
const discovr = new DiscoVR();
discovr.addAsset("car", "models/car.glb");
discovr.addModel("car", { position: "0 0 -3" });
});The message bus
Objects talk through topics: a click publishes, another object listens. Scripts and outside systems use the same bus.
DiscoVR.bus.on("door:open", (payload) => {
console.log("opened by", payload.who);
});
DiscoVR.bus.emit("door:open", { who: "visitor" });AI assistants through MCP
Create a personal token in the editor and connect Claude Code or another MCP client: it can create projects, add objects and behaviours, write scripts and publish.
claude mcp add --transport http discovr \
https://editor.discovr-engine.eu/api/mcp \
--header "Authorization: Bearer dvr_..."Documentation
The documentation is in English, as Markdown files served by Core.
Inside the editor
- Script files (modules or classic scripts) loaded with every page
- A library of tested snippets: interaction, animation, audio, the message bus
- An AI assistant for scripts that runs with your own Anthropic key, from your browser
- A REST API with personal tokens, the same operations the MCP server uses