Legacy Documentation: Version 5.6 (Go to current version)
LanguageEnglish
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

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

public static function CustomEvent(customEventName: string, eventData: IDictionary<string,object>): Analytics.AnalyticsResult;
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.

#pragma strict
public class GameLoginMonoBehaviour extends MonoBehaviour {
	public function OnGameOver() {
		var totalPotions: int = 5;
		var totalCoins: int = 100;
		Analytics.CustomEvent("gameOver", new Dictionary.<String,Object>());
	}
}
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Analytics;

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

public static function CustomEvent(customEventName: string): Analytics.AnalyticsResult;
public static Analytics.AnalyticsResult CustomEvent(string customEventName);

Description

Custom Events (optional).

#pragma strict
public class GameLoginMonoBehaviour extends MonoBehaviour {
	public function OnGameOver() {
		Analytics.CustomEvent("gameOver");
	}
}
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Analytics;

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

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

Description

Custom Events (optional).

#pragma strict
public class GameLoginMonoBehaviour extends MonoBehaviour {
	public function OnGameOver(v: Vector3) {
		Analytics.CustomEvent("gameOver", v);
	}
}
public class GameLoginMonoBehaviour : MonoBehaviour
{
    public void OnGameOver(Vector3 v)
    {
        Analytics.CustomEvent("gameOver", v);
    }
}