← Back to Projects

WebXR Fork

A deep fork of a third-party VR WebXR browser to automate VR entry and passively collect xAPI learning data — touching Java, JavaScript, and C++ inside an existing browser codebase.

Year 2023
Platform Oculus · Pico
Role Developer
Company SkillsVR

Extending a Browser for xAPI

SkillsVR’s MDM system needed to support web-based XR experiences alongside native VR content. Off-the-shelf WebXR browsers couldn’t meet the product requirements, so I forked a third-party VR browser and extended it directly.

The fork added two major capabilities: automatic entry into VR when a compatible experience is loaded (removing the manual “Enter VR” step), and passive HTTP/S traffic interception to capture xAPI learning events generated by web-based experiences — data which is then fed back to the MDM system for session tracking and reporting.

The work required navigating a large, unfamiliar browser codebase spanning multiple languages and build systems, identifying the right integration points, and making targeted changes without breaking existing browser functionality.

What Was Built

⬡
Automated VR Entry

Modified the browser’s WebXR session initialisation path to automatically enter immersive VR mode when a compatible experience is detected, eliminating the user-facing prompt.

⬡
Traffic Interception

Implemented passive HTTP/S interception within the browser’s network layer to capture outbound xAPI statements generated by web-based learning experiences.

⬡
MDM Integration

Captured xAPI data is passed back to the broader MDM system via the IPC protocol, making web-based learning experiences first-class citizens in the MDM reporting pipeline.

Java JavaScript C++ WebXR xAPI / TinCan Browser Internals IPC Protocols