Quick answer: Native crash reporting captures crashes in compiled games with stack traces and device context; WebGL crash reporting captures JavaScript errors in browser games, where the browser is the key variable.

Crash reporting works a little differently for native (compiled) games versus WebGL (browser) games, mostly because of the environment each runs in. The core idea is the same, but the key variables differ. Here's the comparison.

Native Crash Reporting

Native crash reporting captures crashes in compiled games running directly on a device, PC, console, mobile. It records crashes with symbolicated stack traces and device, OS, and version context. The key variables are the hardware and OS, since native crashes are often device or OS specific.

Native reporting deals with the device landscape, especially fragmentation on mobile. Bugnet captures native crashes with device context and groups them by signature, so you can find device-specific crashes across the hardware your players use. The environment is the device.

WebGL Crash Reporting

WebGL crash reporting captures crashes and JavaScript errors in browser-based games. The environment is the browser, and that's the key variable: browsers have different WebGL implementations and behaviors, so a crash can be browser-specific. Capturing the browser and version with each error is essential, as important as the device for native.

Bugnet's web reporting captures JS errors and crashes tagged by browser and device, so browser-specific issues stand out. For WebGL, the browser is effectively the platform, which is why browser context plays the role that device context plays for native crash reporting.

Same Principles, Different Key Variables

The core principles are identical: capture crashes automatically, attach context, group by signature, rank by impact. What differs is the key variable, device and OS for native, browser for WebGL, because that's what crashes most often correlate with in each environment.

Bugnet handles both, native crashes with device context and WebGL errors with browser context, in the same grouped, ranked workflow. So treat native and WebGL crash reporting as the same discipline applied to different environments: capture, context, grouping, and ranking throughout, with device context central for native and browser context central for WebGL.

Native crash reporting centers on device and OS context; WebGL centers on the browser, since browsers behave differently. Same principles, capture, context, grouping, ranking, with a different key variable each.