Quick answer: Capture startup crashes with context to find where launch fails, handle corrupt saved state gracefully, support the devices and OS versions players use, and handle initialization failures, startup crashes block players entirely.
A startup crash stops players before they can play, the worst place to crash. Here are the best ways to prevent startup crashes.
Capture Startup Crashes With Context
Prevent startup crashes by capturing them with context, the stack trace (where in launch it fails), device, OS, and version, so you can see at what point startup crashes and under what conditions. Startup crashes happen before much logging runs, so captured context is key.
Bugnet captures crashes from the field with stack trace, device, OS, and version, so even startup crashes are captured with the context to see where launch fails, the basis for preventing them.
Handle Corrupt Saved State Gracefully
Prevent startup crashes by handling corrupt saved state gracefully on load, validate saves and config read at startup, and fall back to a backup or safe default if corrupt, rather than crashing. Corrupt loaded state is a common cause of startup crash loops.
Bugnet captures the startup crashes from corrupt loaded state (showing it is a load/parse failure), so you can identify the issue, add validation and graceful handling, and verify the startup crashes from bad state stopped.
Support the Devices and OS Versions Players Use
Prevent startup crashes by supporting the devices and OS versions players use, since startup crashes are often device- or OS-specific (the launch assuming something a device/OS does not provide). Handle the differences so launch works across configurations.
Bugnet captures startup crashes with device and OS context, so you see which devices and OS versions fail to launch (invisible on your machine) and can support them, then verify the launch crashes stopped on those configurations.
Prevent startup crashes by capturing them with context to find where launch fails, handling corrupt saved state gracefully, supporting the devices and OS versions players use, and handling initialization failures.