DEV Community

Cover image for What a Two-Person VR Shooter Launch Taught Me About Shipping a Molecular Viewer on Quest
Ashish
Ashish

Posted on

What a Two-Person VR Shooter Launch Taught Me About Shipping a Molecular Viewer on Quest

What a Two-Person VR Shooter Launch Taught Me About Shipping a Molecular Viewer on Quest

EXOSHOCK — the Halo-inspired co-op shooter for up to four players — just hit early access on Quest and PC VR. Road to VR has the details. The part that caught my attention as a developer: POLARITYONE was reportedly only a two-person team, originally targeting Fall 2025.

Two people shipping a hybrid VR shooter is a serious constraint-satisfaction exercise. It's also a useful lens for anyone building non-game VR software, where the constraints are even tighter because there's no gameplay loop to hide behind. I work on NexoPeek, a molecular laboratory for Meta Quest. Here's what the engineering actually looks like.

Constraint 1: You have a mobile GPU and a 72–120 Hz deadline

Standalone Quest means mobile-class silicon and a hard frame budget. Every visual decision is a budget decision.

The hard case in NexoPeek is representation switching. Structural biologists move constantly between cartoon (fold), ball-and-stick (chemistry), spacefill CPK (packing), molecular surface (interfaces), B-factor heat (flexibility), and tube trace (topology). On desktop that's hotkeys and a command line. In VR it has to be one tap, and the swap has to not hitch.

What worked: progressive LOD, aggressive culling, and keeping surface meshes in a cache keyed by representation rather than rebuilding per switch. A 200k-atom surface and a cartoon trace have wildly different vertex counts; if you don't pre-plan the transition, the frame budget dies in exactly the moment the user is paying closest attention.

Constraint 2: Scale has no single correct answer

Proteins span roughly 5–100 nm. Human spatial reasoning is tuned to 0.01–2 m. The obvious move — scale the molecule until it fills the room — breaks immediately, because at that scale one alpha helix becomes a wall that hides the global fold.

NexoPeek loads at human scale: you stand roughly at the size of a small domain with the whole chain around you, then grab and rescale in place with bare hands or controllers. The nice side effect is that occlusion stops being a rendering problem and becomes navigation. Buried residues are behind you; you turn around.

Constraint 3: Identity resolution is the real friction

Users don't arrive with a PDB ID. They arrive with a gene name.

So the smart-search bar fans out across RCSB PDB, UniProtKB, AlphaFold DB, SWISS-MODEL, and PDBe, then reconciles. This is a classic integration headache: heterogeneous schemas, different identifier namespaces, uneven coverage, stale cross-references. The product decision that mattered was presenting a single ranked list instead of five tabs — users don't want to know which database answered.

Constraint 4: Analysis features have to justify themselves spatially

The analysis bench: AI pocket prediction (PrankWeb / P2Rank cloud AI with an offline engine fallback), Foldseek homolog superposition, a Ligand Inspector that traces hydrogen bonds and pulls a 3D ligand from PubChem, trigger-pick distance measurement in angstroms, and sequence-linked selection where tapping a residue pill projects a 3D halo onto the structure.

Every one of these exists in mature desktop tools. The only reason to build it in VR is if the spatial affordance beats the keyboard. For pocket inspection and interface reasoning it does. For anything quantitative at scale it doesn't, and pretending otherwise would be bad engineering.

Constraint 5: Volumetric data is where the budget really goes

Local .pdb, .cif, and .mol2 files load from storage. Electrostatic field-line maps and electron-density volumes render as separate layers. Density volumes are by far the heaviest asset class — isosurface extraction on standalone hardware needs downsampling and a mesh cache, and it's the feature most likely to need post-launch iteration.

Constraint 6: Users aren't always fully immersed

The Room View toggle floats the molecule into the physical room while the wall menu stays operable. Research and teaching sessions are hybrid: headset on, laptop open, paper on the desk. Designing for partial presence is a real requirement, not an afterthought.

The content layer

Twelve narrated tours across six pillars — Biotechnology Basics, Foundations of Life, Pathways & Interactions, Medicines in Action, Genetic Technologies, Green Biotech. Stepping inside hemoglobin to watch oxygen bind, following glucose through glycolysis, watching aspirin block a COX enzyme, watching CRISPR-Cas9 edit DNA. Narration timing and camera choreography are a content problem that masquerades as an engineering one; budget for it.

Caveats

NexoPeek is educational and research-visualization software — not medical advice, diagnosis, or treatment. Pocket prediction and structural alignment support, and never replace, validated scientific pipelines and professional judgment.

Try it

Download NexoPeek on Meta Quest: https://www.meta.com/experiences/nexopeek/1453797551140347/

Questions about the rendering pipeline or the PDB fan-out welcome in the comments.

Top comments (0)