Best viewed horizontally on mobile. Turn your phone sideways to see the full tables.
HeartBeam: Unity vs Godot
The rooms
Unity + OpenXR + Photon build
The rooms in the Unity app today: Blender renders of the same room models, not headset captures. A still can't show multiplayer; the Photon two-headset test is in Integrations below.
Godot demo
Desktop renders from the Godot demo at seated eye height, not headset captures.
Summary: Unity runs HeartBeam on the Quest today (test builds). Godot is cheaper and more open, but it still has to prove itself in the headset and needs the features rebuilt.
1. Big picture: the platform
| Unity 6 + OpenXR (built) | Godot 4.6 + OpenXR (demo) | |
|---|---|---|
| Where it stands | HeartBeam app runs on Quest 3 as test builds (on our own headsets): rooms, audio and session controls; skies and new audio on test branches | Demo with the same 6 rooms; VR build exported 10-13, not yet tried in a headset |
| Work to reach today's features | none, already there | rebuild the beam, audio, voice and session controls (not yet estimated) |
| App size (our builds) | 97–127 MB (HeartBeam app, 2 rooms + audio); 372 MB for the earlier Open Brush–based build | 208 MB (VR debug build, 6 rooms); a release build should be smaller (est.) |
| Speed in the headset | not measured yet | not measured yet (the demo logs its own frame times) |
| Build-and-test cycle | about 15 min | about 1 min |
| Engine licence + cost | Personal is free up to $200,000 revenue or funding a year; above that Pro is $2,310 per seat per year. Unity 6 doesn't require the splash screen. Runtime Fee cancelled | MIT: free, with no revenue cap, seat fee or splash |
| Openness | Closed-source engine; our project code is our own | Open-source engine that we can patch; suits an open-source project |
| Headsets | Quest, Pico, Android XR; Vision Pro through PolySpatial (needs Unity Pro or higher) | Quest, Pico, Android XR; no Vision Pro path |
| Dev setup on disk | project 8.6 GB, plus the editor | editor + tools 1.6 GB, plus Android SDK 3.6 GB |
2. Integrations
Every integration below has a working or official path in Unity; in Godot each one is a rebuild or a community plugin.
| Unity 6 + OpenXR | Godot 4.6 + OpenXR | |
|---|---|---|
| Multiplayer + voice | Photon (official SDKs) in our earlier Open Brush–based build: two headsets joined the same room; voice fixed after first tests, re-check pending. Not yet in the new HeartBeam app | Built-in networking (ENet/WebRTC); voice only through community plugins, Android support still pending |
| Multiplayer service terms | Photon free tier (20 users) is "Development Only"; paid plans are "For Games Only"; non-game use goes to Photon's Industries plan (price not public) | No per-user fee for built-in networking; you run your own server |
| Audio + add-ons | Official Meta XR Audio SDK (on a test build); FMOD/Wwise official (est.); large asset store | Built-in 3D audio; FMOD only through third-party bindings; no official Meta XR Audio found |
| Brush (Open Brush) | Open Brush is a Unity project (Apache-2.0); our earlier build was based on it, so its brushes already run in Unity | No Godot version of Open Brush; brushes would be rebuilt (est.) |
3. Paths forward
| A. Unity now | B. Godot now | C. Unity now + Godot pilot (recommended) | |
|---|---|---|---|
| Community unblocked | this week | after the rebuild + headset tests | this week |
| Risk | low: it already works | higher: unproven in VR, voice on Android open | low; Godot's risk is contained |
| Engine cost | free under $200K/yr | free | free under $200K/yr |
| Fits an open-source plan | partly | fully | yes, if Godot proves itself |
Steps to bring the full multiplayer experience to Godot
| Step | What it takes | Rough time |
|---|---|---|
| 1. Prove it in the headset | Run the Godot VR build on Quest 3 and match Unity's frame time in the same room | 2–5 days |
| 2. Rebuild the core experience | The beam, audio and session controls | 2–4 weeks |
| 3. Shared rooms | Connect headsets with Godot's built-in networking (ENet/WebRTC) on a server we host | 3–6 weeks |
| 4. Voice | Voice chat that works on Quest (Android) | 1–4 weeks (open) |
| 5. Spatial audio | Match the 3D sound of the Unity build | 3 days – 3 weeks (open) |
| 6. Brushes | Rebuild brush drawing, since Open Brush has no Godot version | 4–8 weeks |
| 7. Group test | Two or more headsets in one session, side by side with the Unity build | 1–2 weeks |
| Total | One developer full time, with an agent team | about 12–28 working weeks (3–7 months) |
Estimates only, not measurements. Step 1 is the first real data point and can move every later range. The Unity build already has much of steps 2–5 working; this is the time to redo them in Godot. Voice and spatial-audio quality are the main open items, and brushes are the largest single block.
Sina Radi · MindWave Therapeutics 2026. In collaboration with Luminara.










