September 17, 2015

Mobile Analytics Plugins in UE4

By Joe Graf

Unreal Engine 4 provides a generic analytics interface that analytics service providers use to wrap their native libraries on the respective mobile platform. The generic layer allows the game developer to write their code or Blueprints once, while allowing them to select from one or more analytics providers. This makes it easy for any project to add analytics to their application and know that they can select from a list of providers without having to rework their game if they decide to switch providers in a future release. The goal is to make it easy for the developer to add analytics tracking to their app and provide portability between service providers as the developer’s needs change.

Plugins Available via UE4 Source

Part of the source distribution is a set of plugins that provide layers of functionality depending on the developer’s needs. There are also a couple of implementations of analytics providers that are ready to use once you add the provider’s native libraries to the plugin. The table below lists which providers are part of the source distribution:

Multicast

This plugin routes analytics calls to a list of different analytics plugins. This is used when you want to send the same data to a group of different analytics providers. This is how the Infinity Blade series used analytics in UE3 and we brought this to UE4 because it’s a powerful way to get best of breed features from different analytics providers.

Blueprint Analytics Plugin

This plugin interfaces between the C++ analytics interface by creating a set of Blueprint nodes for use in your applications Blueprints. See this link for more documentation.

File Logging Plugin

This plugin is primarily used to aid in debugging your analytics events. It writes all analytics API calls to a JSON file for viewing on your development computer. It’s not intended to be used in a released application.

Apsalar

The Apsalar plugin provides an implementation of their API. It uses their native library which you need to get from them, along with an account to use their service. If you acquire users for you app using Facebook ads, you should take a look at their service, as they are an attribution provider for Facebook which allows you to see how effective your ad campaigns are.

Flurry

Flurry is one of the originators of analytics providers for mobile apps. They provide you with a great way to see how your app is performing compared to other apps in the same category. Because they’ve around so long and have so many apps using them, you get good comparison data within your specific category. Additionally, if you have used Flurry in other app, you can compare metrics between those and the UE4 applications that you build. The Infinity Blade series uses this feature to compare how the games’ users behave across the different versions.

3rd Party Plugins

The UE4 Marketplace has been a great place to get content, tutorials, and example content for your projects. In addition, we’re adding support for code plugins. These plugins are written by third party developers and service providers. Currently, we are working with GameAnalytics and NinjaMetrics to bring their plugins to the Marketplace. There are others in the works, so check out the Marketplace for future updates.

Build Your Own

There’s one other option for the developer if your favorite provider was not listed in above: you can create your own analytics provider integrations. Doing so is pretty straightforward, since there’s only one interface that you need to support. The usual implementation is a basic wrapper plugin that translates the UE4 API into the target analytics providers’ API. Because we give you the source to the plugins we wrote, you have an example on how to integrate your favorite provider’s API.