Quick answer: Microsoft retired Visual Studio App Center on March 31, 2025, but kept Analytics and Diagnostics running. That reprieve now ends at the end of March 2027. If your Unity game still sends crashes to App Center Crashes, move them before then. Microsoft points to Azure Monitor and enterprise observability platforms; for a game, a game-focused tool such as Bugnet (which also covers the Steam, macOS, Linux and WebGL builds the App Center Unity SDK never supported) is usually the simpler home. Run both side by side for one release, then remove App Center.
For years App Center was the easy, free way to get crash reports out of a Unity mobile game: import a package, drop the AppCenterBehavior script into your first scene, paste the app secret and you were done. That convenience is ending. This guide covers the retirement timeline as it stands in October 2026, what Microsoft recommends instead, how the options compare for a game, and a practical migration you can finish in an afternoon.
The App Center retirement timeline
| Date | What happened |
|---|---|
| March 2024 | Microsoft announced App Center would retire on March 31, 2025. |
| March 20, 2025 | Analytics and Diagnostics were extended to June 30, 2026 while the Azure Monitor team built mobile analytics support. Everything else retired as planned. |
| March 31, 2025 | Build, Test, Distribute and CodePush hosting were retired. |
| April 15, 2026 | Azure Monitor's mobile analytics solution entered public preview, and Analytics and Diagnostics support was extended again to the end of March 2027. |
| End of March 2027 | App Center Analytics and Diagnostics support ends. |
The second extension is good news, but it is the kind of deadline that arrives mid-production. Crash reporting is also the one App Center feature you cannot afford to lose silently: when the service stops, nothing in your game will tell you, and your crash dashboard will just look calm.
What Microsoft recommends instead
Microsoft's retirement page points Analytics users to the new mobile analytics support in Azure Monitor, and lists Azure Native ISV services, Datadog, Dynatrace and New Relic, for analytics and diagnostics. Those are capable observability platforms built for companies that monitor whole application stacks, from devices to backend infrastructure on Azure.
For a game studio they are often more platform than you need, and none of them know what a scene, a build of your game or a player's bug report is. If App Center was your crash reporter because it was simple and free, you are better served by a tool that is simple and built for games.
What App Center Crashes was doing for your Unity game
The App Center SDK for Unity supported iOS, Android and UWP. Its Crashes service wrote a crash log to the device when the app crashed and sent it the next time the player launched the game, and it could also record handled errors and attachments. Make a list of what you actually used before you choose a replacement:
- Automatic crash reports on iOS and Android, with stack traces and device details.
- Handled errors you reported yourself, with custom properties.
- Error attachments such as a log file or save data.
- Analytics events (a separate App Center service, and a separate decision).
Crash reporting alternatives for Unity games
| Option | Platforms | Good fit when | Free tier |
|---|---|---|---|
| Bugnet | Any Unity target via one C# file (Unity 2020.3+), plus Godot, Unreal and other engines | You want crashes, player bug reports and a tracker in one place, including PC and WebGL builds | 1 project, 100 reports |
| Firebase Crashlytics | iOS and Android (desktop is development-only) | Your game is mobile-only and will stay that way | Free |
| Sentry | Unity, Unreal, Godot, native, consoles | You also monitor backend services and web apps | 5,000 errors/mo, 1 user |
| Unity Diagnostics | Unity 6.2 and later | You are on Unity 6.2+ and want the built-in option | Part of Unity's services |
| Azure Monitor, Datadog, Dynatrace, New Relic | Broad | Your company already standardises on one of them | Varies |
If you are only shipping on mobile and only need crash counts, Crashlytics is the closest like-for-like swap. But many teams that started with App Center have since added a Steam, itch.io or WebGL build, and that is where a mobile-only crash tool leaves you blind. Read Does Firebase Crashlytics work for PC and Steam games? if that is you, and our roundup of the best crash reporting tools for game developers for the wider field.
Why game teams move to Bugnet
Bugnet was built for games rather than for apps, so it fills the gaps App Center always had:
- Every platform your Unity game ships on. The SDK is one C# file with no third-party dependencies, so the same integration reports from Windows, macOS, Linux, Steam Deck, WebGL, iOS and Android builds.
- Player bug reports, not just crashes. An in-game widget lets players report the bugs that do not crash the game, with a screenshot attached.
- Game context on every report. The last 100 log lines, GPU, RAM, OS, screen resolution, the game version from Player Settings, and a frame-rate and memory snapshot.
- Grouping and release health. Repeat reports stack into one bug with a count, and crash-free sessions are tracked per build so you can see whether a patch helped.
- The rest of the loop. A tracker, Steam review sync, a public known-issues page and integrations with GitHub, Linear, Jira and more.
One honest caveat: Bugnet's Unity SDK captures exceptions, errors and failed asserts from Unity's log stream. If you depend on native crash dumps from C++ plugins, pair it with a minidump tool or keep that part of your pipeline separate.
Migrating a Unity game from App Center to Bugnet
1. Inventory your App Center integration
Find the GameObject in your first scene that carries the AppCenterBehavior script, the AppCenter folder the packages imported, any code that calls the Crashes or Analytics classes, and, on Android, the appcenter_backup_rule.xml file and the backup attribute App Center asked you to add to AndroidManifest.xml.
2. Add the Bugnet SDK
Create a free Bugnet project and copy its API key. From your Unity project root, run the installer, which downloads BugnetSDK.cs into Assets/Scripts/:
curl -s https://bugnet.io/sdks/unity/install.sh | bash
On Windows, use the PowerShell installer from the Unity SDK docs, or download the file by hand. Then initialise it from any startup script. The SDK creates its own persistent GameObject the first time you touch BugnetSDK.Instance; if you prefer the App Center style, add the BugnetSDK component to an object in your first scene and fill in the API key in the Inspector instead.
void Awake() {
BugnetSDK.Instance.Init("YOUR_API_KEY", "https://api.bugnet.io");
}
3. Map handled errors, properties and attachments
Exceptions you already log with Debug.LogException are captured automatically. For errors you reported to App Center by hand, call ReportBug, which takes a category, priority, optional screenshot, file attachments and a JSON metadata string in place of App Center's custom properties:
BugnetSDK.Instance.ReportBug(
"Save upload failed", ex.Message,
category: "network", priority: "high",
attachmentPaths: new[] { savePath },
metadataJson: "{\"slot\":2,\"cloud\":true}");
To attach a file to a crash Bugnet captured on its own, subscribe to the BugReported event, which hands you the new bug's id, and call UploadAttachment(bugId, path).
4. Decide what happens to analytics
App Center Analytics is a separate service with the same deadline. Bugnet can track custom events on its Studio plans, or you can move analytics to the tool your team already uses. Do not let the analytics decision hold up the crash migration.
5. Ship both for one release, then remove App Center
Run App Center and Bugnet side by side for a release, compare the crash lists, then delete the AppCenterBehavior object, the AppCenter folder and the Android backup rules. Bump the version in Player Settings for that build; Bugnet reads it from Application.version, so every report is tagged with the build it came from.
Migration checklist
- Bugnet project created and the API key stored where your build pipeline can reach it.
- BugnetSDK initialised at startup, from code or as a component in the first scene.
- A forced test exception from a release build shows up in the dashboard.
- Handled errors and attachments moved to
ReportBugandUploadAttachment. - An in-game report key or menu button wired to
ShowWidget(). - Team notifications set up (email, Discord, Slack or Teams).
- App Center packages, behaviour and backup rules removed well before the end of March 2027.
Frequently asked questions
When does App Center Diagnostics stop working?
Microsoft extended support for App Center Analytics and Diagnostics until the end of March 2027, in an update published on April 15, 2026. The rest of App Center was retired on March 31, 2025.
What does Microsoft recommend instead of App Center Crashes?
Microsoft points customers to Azure Monitor, whose mobile analytics solution entered public preview in April 2026, and to Azure Native ISV services such as Datadog, Dynatrace and New Relic for analytics and diagnostics. Game teams often prefer a game-focused crash reporter such as Bugnet, Sentry or Firebase Crashlytics for mobile-only titles.
Can I use Firebase Crashlytics instead of App Center for a Unity game?
Yes, for iOS and Android builds. The Firebase Unity SDK supports desktop platforms for development only, so Crashlytics will not cover a Steam or other PC release.
Which Unity versions does Bugnet support?
Bugnet's Unity SDK supports Unity 2020.3 and later. It is a single C# file with no third-party dependencies, added to your project with an installer script or by hand.
Can I run App Center and Bugnet at the same time?
Yes. Running both for one release is the safest way to migrate: compare the crash lists, confirm nothing is missing, then remove App Center.
Deadlines like this one slip quietly until the dashboard goes silent. Move crash reporting first, and move it while you can still compare.