← 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