March 12, 2020

Unity apps: it’s game over for ANRs

For app users, perhaps one of the most infuriating errors to encounter is the dreaded “Application Not Responding” (ANR) message. This unhelpful notification appears whenever an app has been hanging for a certain period of time, and the user must decide whether to continue waiting or force-quit the app. 

It’s an unfortunate choice to be confronted with, especially if the user is in the middle of a purchase or on the brink of accomplishing a task or goal. The end result? A poor user experience with all the telltale symptoms and emotions of a full-on app crash. 

What happens next varies, but irritated users may vent their frustrations by contributing a poor rating or review in the App Store. Others may immediately delete the app and search for an alternative. Some do both.

For Unity app developers, ANRs also happen to be one of the most aggravating error scenarios because these types of errors are extremely hard to detect and fix. 

Until now.

Taking a headshot to ANRs with error detection

We have great news to share: Bugsnag now provides full support for ANR error detection in Unity apps.

By identifying and detecting ANR scenarios from inside the code and providing a full stack trace, Bugsnag empowers Unity developers with real data so they can quickly find and address the code responsible for the error. 

How does error detection for ANRs work with Unity apps?

  1. Bugsnag provides a stack trace to show the exact line of code that was running when the app froze and set off the ANR.
  2. If the app freezes more than once on the same line, these errors are grouped into one error in Bugsnag with an indication of the number of occurrences. 
  3. Breadcrumbs allow Unity developers to see the actions a user was performing in the run-up to an ANR.
  4. Bugsnag provides filtering by powerful pivots, including device make and model, app version, and any other data required to reproduce and fix ANRs. 

To enable fast decision making around prioritization, Bugsnag groups ANRs by cause. With all relevant information in one place, it’s easier for developers to determine which ANRs to fix first, as well as weigh ANRs against other errors that are causing the app to crash. 

Since ANRs count towards an app’s overall stability score, Bugsnag also makes it possible to track progress from release to release and discover if new features are causing a higher rate of ANRs.

Out with old methods. In with ANR detection. 

Much like end users, Unity developers have historically lacked insight into ANRs because they haven’t had the right tools to trace the source of the problem. Here’s why.

  1. Previously, the Google Play console provided the only information about ANRs, and that data was sparse at best. Developers could see the “percentage of sessions with an ANR,” but that information isn’t actionable or explanatory around why or how the error is occurring.
  2. Not all developers have access to the Play console, as it’s often controlled by only a few team members to avoid accidental deletions and to protect sensitive account information.  
  3. Developers with access to the Play console can find ANR data there, but detailed error data is found in Bugsnag. That means developers need to flip between the two systems, which is inefficient and time consuming. 

Now that ANR errors are handled in Bugsnag alongside all other error data, Unity developers no longer fall victim to these frustrating circumstances, and app users are less likely to experience ANRs in the future. Everyone wins.

Start detecting ANRs today

Bugsnag makes it easy to level up your Unity game against ANRs without delay.

Simply upgrade to the latest version of Bugsnag’s notifier libraries for Unity. You’ll need to Enable ANR detection via the Unity Inspector when configuring Bugsnag. If you need additional information, check out our Unity documentation.

It’s as simple as that. ANRs will be detected from that moment forward and start appearing in your Bugsnag dashboard. 

Say goodbye to ANR headaches and hello to total control.

BugSnag helps you prioritize and fix software bugs while improving your application stability
Request a demo