Unity is one of the most popular and recognized game development platforms on the market to date. Microsoft has had a long-standing partnership with Unity, with Visual Studio Tools for Unity being the default installed editor experience for Unity developers around the world. Continuing in our quest to make mobile developers more productive, and better support the apps developers are building, the Visual Studio App Center team is excited to announce the public release of the App Center Unity SDK. This release enables developers to create Android, iOS and UWP Unity apps in the App Center portal, with support for app distribution, crash and analytics. Here is a quick overview of what the release offers.
Easier Distribution of Your Games
We know it is important for you to get your game to your users. With App Center you can upload releases and ship releases of your app to your internal QA teams and public beta testers, securely manage your app by uploading to Microsoft Intune, or publish directly to Google Play and Apple’s App Store. When you publish a new release, the SDK will present an update dialog to users to view release notes and install immediately.
Detailed Crash Reporting for Easier Diagnosis
When there is an issue in your game, you want to be able track it down as soon as possible. Adding the Crash SDK will enable you to get crash reports throughout the lifecycle of your app, whether you are still in early prototyping or a published release. The SDK will automatically generate a crash log every time your app crashes, store it in device storage until the user starts the app again, then sent to App Center. These crash logs can include additional attachments to help you resolve issues sooner.
Log Errors and Maintain a Smooth User Experience
For Xamarin developers, the ability to log handled errors has been an invaluable tool for diagnosing issues while seeking to maintain a stable app experience. Today we are extending this functionality to include Unity apps as well. For those not familiar with this feature, App Center Errors functions similar to crash reporting, but allows you to report issues or exceptions caught within a try/catch block, preventing fatal crashes but still capturing the relevant information. Here is an example of how this works in code:
try { using (var text = File.OpenText("saved_game001.txt")) { //Do something ... } } catch (FileNotFoundException ex) { Crashes.TrackError(ex, new Dictionary<string,string>{ { "Filename", "saved_game001.txt" }, { "Where", "Reload game" }, { "Issue", "Index of available games is corrupted" } }); }
For further information, you can read our Errors documentation for additional details on how to get started and add this into your application.
Rich Analytics and Event Tracking to Better Understand your App
App Center’s analytics offering allows you to better understand user behavior and the general health of your game. By enabling Analytics, you can start automatically tracking information such as daily usage, user engagement and device properties like OS version, model, etc… to help you gain greater insight on your app in the wild. You also have the ability to include code to track your own custom events to gain greater insight on how your users interact with your app.
Analytics.TrackEvent("Level Complete", new Dictionary<string, string> { { "Level", " 5" }, { "Time to Complete","0:12:35"} });
Test your Game on the Devices your Users Own
Along with our SDK’s for app distribution, crash reporting and analytics, App Center also has a device cloud which allows you to perform automated UI tests of your iOS and Android apps on hundreds of configurations and thousands of real devices. We know testing, especially games, can be challenging but one of the easiest scenarios is the launch test, just launch your game and verify that it works on the devices you want to support. Writing a test for like this can be done in minutes. Once written, you can upload it to our device lab and run your game on hundreds of different devices and operating systems for additional confidence your game will work for your users. For more ideas on testing games, take a look at the guest blog post from the Minecraft team on how they integrate testing into their process.
Getting Started
Getting started with using App Center in your Unity apps today in just a few steps.
Create your App in App Center
First log into App Center, or create a free account, and create a new App, selecting Unity as the platform. Make sure to take note of the app secret for each platform you support.
Install the App Center SDK
Download the latest unity packages from our GitHub Repo under Releases tab. From there, with your existing Unity project open, double-click and import each of the SDK packages you intend to use in your project.
Once you have imported the SDK into your Unity project the next step is to setup and enable the SDK within your app. In the main scene of your game, create a new, empty, Game Object and give it a descriptive name like “App Center”. In your project window, find the AppCenterBehavior script and click-drag it onto the game object you just created to apply it. You should now see the script details in your Inspector window, including fields for your Android, iOS and UWP app secrets. Copy/paste your app secret, found on the getting started page in the App Center portal, for the app platforms you target, save and you are up and running! App Center should now be configured and running the next time you load your app.
Looking Forward
Today’s release is another step for Microsoft and Unity in the game development space. We look forward to evolving and improving our offering to better support scenarios across game development, Augmented and Mixed Reality or any other apps using Unity. We encourage you to log in and give it a try today and let us know what you need in the future as we eagerly await your feedback and ideas as to how we can take the next steps. Just reach out via the chat icon in the App Center Portal or message @VSAppCenter.
0 comments