Product

One SDK. A real engine underneath.

A Rust engine that renders with WebGPU, and one TypeScript SDK that feels familiar if you know three.js. Multiplayer, 3D assets, and vision and audio on the device come built in.A Rust engine with WebGPU and one TypeScript SDK, with multiplayer and vision built in.

Engine

Rendered with WebGPU

A compact Rust core does the heavy work: rendering, the scene, assets and sync. It compiles to WebAssembly for the browser and to native code for desktop.A Rust core that renders with WebGPU in the browser and desktop.

  • Physically basedMaterials, lights and reflections that look right out of the box.Physically based. Looks right by default.
  • Compressed 3D assetsglTF models with compressed textures load fast and stay small.Fast assets. Compressed glTF.
  • Web firstRuns in browsers with WebGPU, with no install.Web first. No install.
A meeting room with a round table, chairs and tall city windows, rendered in the browser by the RealityOS engine
Rendered in the browser by RealityOS
SDK

Code that feels familiar

The SDK is the only thing anyone programs against: apps, tools and agents alike. Scenes, meshes, lights and cameras work the way three.js developers expect.Scenes, meshes and lights, the way three.js developers expect.

  • Batteries includedOrbit controls, glTF models, text and UI panels, and surfaces people can draw on.Batteries included. Controls, models, UI panels.
  • Scenes as filesLoad or save a whole scene as typed JSON.Scenes as files. Typed JSON.
  • Typed throughoutTypeScript types for every part of the API.Typed. Every part of the API.
main.ts
import { Engine, Scene, PerspectiveCamera, DirectionalLight,  Mesh, BoxGeometry, MeshStandardMaterial } from 'realityos' const engine = await Engine.create({ canvas })const scene = new Scene() const camera = new PerspectiveCamera()camera.fov = 60camera.position.set(2.5, 1.8, 2.5)camera.lookAt(0, 0.5, 0) scene.add(new DirectionalLight({ direction: [-1, -2, -1], intensity: 2.5 }))scene.add(new Mesh(new BoxGeometry(1, 1, 1),  new MeshStandardMaterial({ roughness: 0.4 }))) engine.render(scene, camera)
Multiplayer

Shared scenes, in sync

Everyone in an app sees the same scene. Apps declare which parts are shared, and the sync service sends only what changed.Everyone sees the same scene. Only changes travel. Multiplayer needs an account; everything else runs on your machine with no key.

  • Declared, not wiredMark what is shared; the SDK keeps it in sync.Declared. Mark what is shared.
  • Only changes travelSmall updates instead of whole scenes.Small updates. Only changes travel.
  • People and agents togetherAn AI agent can change the same scene people are in.Together. People and agents, one scene.
A personIn the browser
Sync service
A change
One shared scene
Only the change
An AI agentSame scene
Vision on the device

Built into the engine

Vision and audio models run in the engine on the user's own GPU and CPU.Runs on the device.

People in 3D

Puts people from their camera into the scene.

Face and head

Finds faces and follows head pose.

Hand gestures

Recognises hand gestures for control.

Auto-framing

Keeps a person well framed as they move.

Clean speech

Removes background noise from the microphone.

Assets and platforms

From upload to every screen

Asset service

Upload, store and serve 3D assets from one service.Upload, store and serve 3D assets.

Web

Today

Browsers with WebGPU, such as Chrome and Edge.

Desktop

Next

Native apps for Windows and macOS.

Mobile

After

Native apps for iOS and Android.

Get started

Request access

RealityOS is invite-only. Write to info@holoh.com to request access.

Free to build and test. Evaluation terms

Create your account
We use these details only to reply to you. Privacy notice.