Version: 2020.3
LanguageEnglish
  • C#

Analytics.CustomEvent

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Declaration

public static Analytics.AnalyticsResult CustomEvent(string customEventName, IDictionary<string,object> eventData);

Parameters

customEventName Name of custom event. Name cannot include the prefix "unity." - This is a reserved keyword.
eventData Additional parameters sent to Unity Analytics at the time the custom event was triggered. Dictionary key cannot include the prefix "unity." - This is a reserved keyword.

Description

Custom Events (optional).

Unity Analytics allows you to track specific events within your game. By configuring a series of Custom Events within your game, you can create your own Funnel Analysis to observe your players' game behavior. Good places to put custom events include: milestones, new levels, Scene transitions, etc.

In addition to tracking custom events, Unity Analytics also allows you to pass in custom dimensions (dictionary) relating to the event. These custom dimensions are primarily useful to know additional specifications about the user at the time the custom event was reached.

using System;
using System.Collections.Generic;
using UnityEngine;
#if ENABLE_CLOUD_SERVICES_ANALYTICS
using UnityEngine.Analytics;
#endif

public class GameLoginMonoBehaviour : MonoBehaviour { public void OnGameOver() { int totalPotions = 5; int totalCoins = 100; #if ENABLE_CLOUD_SERVICES_ANALYTICS Analytics.CustomEvent("gameOver", new Dictionary<string, object> { { "potions", totalPotions }, { "coins", totalCoins } }); #endif } }

Declaration

public static Analytics.AnalyticsResult CustomEvent(string customEventName);

Description

Custom Events (optional).

using System;
using System.Collections.Generic;
using UnityEngine;
#if ENABLE_CLOUD_SERVICES_ANALYTICS
using UnityEngine.Analytics;
#endif

public class GameLoginMonoBehaviour : MonoBehaviour { public void OnGameOver() { #if ENABLE_CLOUD_SERVICES_ANALYTICS Analytics.CustomEvent("gameOver"); #endif } }

Declaration

public static Analytics.AnalyticsResult CustomEvent(string customEventName, Vector3 position);

Description

Custom Events (optional).

using System;
using System.Collections.Generic;
using UnityEngine;
#if ENABLE_CLOUD_SERVICES_ANALYTICS
using UnityEngine.Analytics;
#endif

public class GameLoginMonoBehaviour : MonoBehaviour { public void OnGameOver(Vector3 v) { #if ENABLE_CLOUD_SERVICES_ANALYTICS Analytics.CustomEvent("gameOver", v); #endif } }