NinjaMetrics
Name | NinjaMetrics |
Category | Analytics |
Author | Ninja Metrics, Inc. - support@ninjametrics.com |
Version | 1.1.0 |
UE4 Build | 4.4.1 |
Overview
The Ninja Metrics plugin provides an implementation of the Unreal Engine in-game analytics engine. Further documentation for in-game analytics can be found at: https://udn.unrealengine.com/docs/ue4/INT/Gameplay/Analytics/index.html.
Download
You can download the latest as a [compressed file] or visit our [bitbucket repo] for full information.
Installation
The code for the Ninja Metrics plugin can be placed in: <gamename>\Plugins\NinjaMetrics
The built-in analytics API doesn't support identifying the type of the data being sent to distinguish between strings, floats, and longs as required by the Ninja Metrics JSON interface. The implementation of the Ninja Metrics interface supporting types can be found in the blueprint class UNinjaMetricsEvents including type and range constraints. This allows calling the interface from both C++ code and blueprints.
There is an additional change required in Unreal Engine in ModuleManager.cpp to add a line to 'void FModuleManager::UnloadModulesAtShutdown()':
- TArray<FModulePair> ModulesToUnload;
- for( FModuleMap::TConstIterator ModuleIt( Modules ); ModuleIt; ++ModuleIt )
- {
- TSharedRef< FModuleInfo > ModuleInfo( ModuleIt.Value() );
- // Only if already loaded
- if( ModuleInfo->Module.IsValid() )
- {
- // Only if the module supports shutting down in this phase
- if( ModuleInfo->Module->SupportsAutomaticShutdown() )
- {
- new (ModulesToUnload) FModulePair(ModuleIt.Key(), ModuleIt.Value()->LoadOrder);
- ---> // [PHX][BS] Call the PreUnloadCallback before unload.
- ---> ModuleInfo->Module->PreUnloadCallback();
- ---> // [PHX][BS]
- }
- }
- }
To configure using the Ninja Metrics plugin add the following information to your DefaultEngine.ini file for your game from https://katana.ninjametrics.com/ninja/account/applications:
- [Analytics]
- ProviderModuleName=NinjaMetrics
- ClientID=<ClientID>
- ApplicationID=<ApplicationID>
- AccessToken=<AccessToken>
- [AnalyticsDevelopment]
- ProviderModuleName=NinjaMetrics
- ClientID=<ClientID>
- ApplicationID=<ApplicationID>
- AccessToken=<AccessToken>
- [AnalyticsTest]
- ProviderModuleName=NinjaMetrics
- ClientID=<ClientID>
- ApplicationID=<ApplicationID>
- AccessToken=<AccessToken>
- [AnalyticsProduction]
- ProviderModuleName=NinjaMetrics
- ClientID=<ClientID>
- ApplicationID=<ApplicationID>
- AccessToken=<AccessToken>
Verifying Installation
You can verify functionality after these changes by running the Ninja Metrics test suite: Engine\Binaries\Win64\UE4Editor.exe <gamename> -game -automationtests="NinjaMetrics" -unattended -nopause -testexit="Automation Test Queue Empty" -log
The test pass should complete successfully. Output will include the json data for failures to trace issues.
Data can be verified online at https://katana.ninjametrics.com/ninja/account/logs. There is a 5-30 minute latency for updates.
Contact
If you have any Questions, Comments, Bug reports or feature requests for this plugin, or you wish to contact us you can and should email us at support@ninjametrics.com.