VERTEX
Cross-platform multiplayer training platform on AWS GovCloud.
Summary
A cross-platform multiplayer training platform built around a Unity 6 simulation. WebGL browsers and Meta Quest VR headsets share the same session, synchronized through a real-time multiplayer server on AWS GovCloud at FedRAMP High.
Problem
Emergency-services training is expensive, dangerous, and limited by physical space and equipment. VERTEX is a multiplayer training platform where instructors run scenarios for trainees on any device. Cross-platform multiplayer means VR trainees and laptop trainees share the same session, with synchronized scenario state, equipment, AI characters, and vehicles.
Architecture
I led a game team of three on the Unity 6 client and built the rest of the stack solo. The game uses a host-authority architecture where the first player owns simulation-critical state with automatic host promotion on disconnect. The Node.js multiplayer server I built handles real-time state synchronization across WebSocket and UDP, enabling VR and WebGL players to share a session. The Laravel portal I built wraps the experience, integrates AWS GovCloud end-to-end, and embeds AWS Bedrock with a RAG system so trainees can ask for reference material from the game or the portal. The Node server is never directly exposed; all traffic is gated by the Laravel proxy with short-lived Sanctum auth, hardened, and audit-logged.
Outcomes
- Two deployment targets from a single Unity 6 codebase: WebGL and Meta Quest VR
- VR and WebGL trainees synchronized in the same multiplayer session through AWS GovCloud
- Bedrock-powered RAG for in-game and in-portal reference material lookup
- Full AWS GovCloud deployment at FedRAMP High
- Led a game team of three; built the portal, infrastructure, and multiplayer server solo
Hardest bits
- VR and WebGL players sharing the same multiplayer session synchronized through GovCloud
- Hardening the boundary between the Laravel portal and the Node multiplayer server so the Node server is never directly exposed
- Authenticated browser sessions tied through to the Unity WebGL build via .jslib interop so the game can make authenticated API calls
- Operating inside AWS GovCloud at FedRAMP High while keeping development velocity reasonable