Best viewed horizontally on mobile. Turn your phone sideways to see the full tables.

HeartBeam: Unity vs Godot

Sina Radi · October 14, 2026

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 standsHeartBeam app runs on Quest 3 as test builds (on our own headsets): rooms, audio and session controls; skies and new audio on test branchesDemo with the same 6 rooms; VR build exported 10-13, not yet tried in a headset
Work to reach today's featuresnone, already thererebuild 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 build208 MB (VR debug build, 6 rooms); a release build should be smaller (est.)
Speed in the headsetnot measured yetnot measured yet (the demo logs its own frame times)
Build-and-test cycleabout 15 minabout 1 min
Engine licence + costPersonal 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 cancelledMIT: free, with no revenue cap, seat fee or splash
OpennessClosed-source engine; our project code is our ownOpen-source engine that we can patch; suits an open-source project
HeadsetsQuest, Pico, Android XR; Vision Pro through PolySpatial (needs Unity Pro or higher)Quest, Pico, Android XR; no Vision Pro path
Dev setup on diskproject 8.6 GB, plus the editoreditor + 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 + OpenXRGodot 4.6 + OpenXR
Multiplayer + voicePhoton (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 appBuilt-in networking (ENet/WebRTC); voice only through community plugins, Android support still pending
Multiplayer service termsPhoton 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-onsOfficial Meta XR Audio SDK (on a test build); FMOD/Wwise official (est.); large asset storeBuilt-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 UnityNo Godot version of Open Brush; brushes would be rebuilt (est.)

3. Paths forward

A. Unity nowB. Godot nowC. Unity now + Godot pilot (recommended)
Community unblockedthis weekafter the rebuild + headset teststhis week
Risklow: it already workshigher: unproven in VR, voice on Android openlow; Godot's risk is contained
Engine costfree under $200K/yrfreefree under $200K/yr
Fits an open-source planpartlyfullyyes, if Godot proves itself

Steps to bring the full multiplayer experience to Godot

StepWhat it takesRough time
1. Prove it in the headsetRun the Godot VR build on Quest 3 and match Unity's frame time in the same room2–5 days
2. Rebuild the core experienceThe beam, audio and session controls2–4 weeks
3. Shared roomsConnect headsets with Godot's built-in networking (ENet/WebRTC) on a server we host3–6 weeks
4. VoiceVoice chat that works on Quest (Android)1–4 weeks (open)
5. Spatial audioMatch the 3D sound of the Unity build3 days – 3 weeks (open)
6. BrushesRebuild brush drawing, since Open Brush has no Godot version4–8 weeks
7. Group testTwo or more headsets in one session, side by side with the Unity build1–2 weeks
TotalOne developer full time, with an agent teamabout 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.