Migrate to Unity 6.2 with Analytics SDK 6.1.0

Follow this guide if you're upgrading to Unity 6.2 with Analytics SDK 6.1.0.

Unity 6.2 introduces the Developer Data framework to manage player consent. This framework uses the Unity Engine's EndUserConsent API, replacing the SDK's StartDataCollection() and StopDataCollection() methods. This guide details these changes and how to adapt your project.

Note: If you are using SDK version 6.1.0 or later in an earlier version of Unity where the Developer Data framework is not present, the old methods are still present. This guide only applies to using the latest SDK versions in the latest Unity Editor versions.

You no longer need to manually activate the Analytics SDK after calling UnityServices.InitializeAsync(). To use the new Developer Data framework, you must remove all usages of the StartDataCollection() and StopDataCollection() methods.

Instead, use the EndUserConsent.SetUserConsent(...) method to grant consent for AnalyticsIntent. You only need to do this once. The Developer Data framework stores this consent status locally, and the Analytics SDK activates automatically based on this stored value.

The following code demonstrates how to record player consent for data collection:

// ... ask for consent...

ConsentState consentState = EndUserConsent.GetConsentState();

if (userGaveConsent)
{
    consentState.AnalyticsIntent = ConsentStatus.Granted;
}
else
{
    consentState.AnalyticsIntent = ConsentStatus.Denied;
}

EndUserConsent.SetConsentState(consentState);

To learn more about managing consent with the EndUserConsent API, refer to the Developer Data framework documentation.

If UnityServices.InitializeAsync() has already been called, setting AnalyticsIntent to Granted immediately starts data collection. If you set AnalyticsIntent to Granted first, data collection starts during UnityServices.InitializeAsync() instead.

If the AnalyticsIntent status is set to any value other than Granted, at any time, data collection stops immediately or does not start during initialization.

Request data deletion

The Analytics SDK still controls data deletion requests, using the existing RequestDataDeletion() method. However, the SDK no longer automatically stops collecting data when doing so. In order to make a data deletion request, you must deny consent using the EndUserConsent API first.

ConsentState consentState = EndUserConsent.GetConsentState();

consentState.AnalyticsIntent = ConsentStatus.Denied;

EndUserConsent.SetConsentState(consentState);

AnalyticsService.Instance.RequestDataDeletion();