Version: 5.4 beta (switch to 5.3)
LanguageEnglish
  • C#
  • JS

Script language

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

EventTrigger

class in UnityEngine.EventSystems

/

Inherits from: MonoBehaviour


Implements interfaces: IBeginDragHandler, ICancelHandler, IDeselectHandler, IDragHandler, IDropHandler, IEndDragHandler, IEventSystemHandler, IInitializePotentialDragHandler, IMoveHandler, IPointerClickHandler, IPointerDownHandler, IPointerEnterHandler, IPointerExitHandler, IPointerUpHandler, IScrollHandler, ISelectHandler, ISubmitHandler, IUpdateSelectedHandler

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

Sumbission failed

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

Close

Cancel

Description

Receives events from the EventSystem and calls registered functions for each event.

The EventTrigger can be used to specify functions you wish to be called for each EventSystem event. You can assign multiple functions to a single event and whenever the EventTrigger receives that event it will call those functions in the order they were provided.

NOTE: Attaching this component to a GameObject will make that object intercept ALL events, and no events will propagate to parent objects.

There are two ways to intercept events: You could extend EventTrigger, and override the functions for the events you are interested in intercepting; as shown in this example:

#pragma strict
public class EventTriggerExample extends EventTrigger {
	public override function OnBeginDrag(data: PointerEventData) {
		Debug.Log("OnBeginDrag called.");
	}
	public override function OnCancel(data: BaseEventData) {
		Debug.Log("OnCancel called.");
	}
	public override function OnDeselect(data: BaseEventData) {
		Debug.Log("OnDeselect called.");
	}
	public override function OnDrag(data: PointerEventData) {
		Debug.Log("OnDrag called.");
	}
	public override function OnDrop(data: PointerEventData) {
		Debug.Log("OnDrop called.");
	}
	public override function OnEndDrag(data: PointerEventData) {
		Debug.Log("OnEndDrag called.");
	}
	public override function OnInitializePotentialDrag(data: PointerEventData) {
		Debug.Log("OnInitializePotentialDrag called.");
	}
	public override function OnMove(data: AxisEventData) {
		Debug.Log("OnMove called.");
	}
	public override function OnPointerClick(data: PointerEventData) {
		Debug.Log("OnPointerClick called.");
	}
	public override function OnPointerDown(data: PointerEventData) {
		Debug.Log("OnPointerDown called.");
	}
	public override function OnPointerEnter(data: PointerEventData) {
		Debug.Log("OnPointerEnter called.");
	}
	public override function OnPointerExit(data: PointerEventData) {
		Debug.Log("OnPointerExit called.");
	}
	public override function OnPointerUp(data: PointerEventData) {
		Debug.Log("OnPointerUp called.");
	}
	public override function OnScroll(data: PointerEventData) {
		Debug.Log("OnScroll called.");
	}
	public override function OnSelect(data: BaseEventData) {
		Debug.Log("OnSelect called.");
	}
	public override function OnSubmit(data: BaseEventData) {
		Debug.Log("OnSubmit called.");
	}
	public override function OnUpdateSelected(data: BaseEventData) {
		Debug.Log("OnUpdateSelected called.");
	}
}
using UnityEngine;
using UnityEngine.EventSystems;

public class EventTriggerExample : EventTrigger { public override void OnBeginDrag( PointerEventData data ) { Debug.Log( "OnBeginDrag called." ); }

public override void OnCancel( BaseEventData data ) { Debug.Log( "OnCancel called." ); }

public override void OnDeselect( BaseEventData data ) { Debug.Log( "OnDeselect called." ); }

public override void OnDrag( PointerEventData data ) { Debug.Log( "OnDrag called." ); }

public override void OnDrop( PointerEventData data ) { Debug.Log( "OnDrop called." ); }

public override void OnEndDrag( PointerEventData data ) { Debug.Log( "OnEndDrag called." ); }

public override void OnInitializePotentialDrag( PointerEventData data ) { Debug.Log( "OnInitializePotentialDrag called." ); }

public override void OnMove( AxisEventData data ) { Debug.Log( "OnMove called." ); }

public override void OnPointerClick( PointerEventData data ) { Debug.Log( "OnPointerClick called." ); }

public override void OnPointerDown( PointerEventData data ) { Debug.Log( "OnPointerDown called." ); }

public override void OnPointerEnter( PointerEventData data ) { Debug.Log( "OnPointerEnter called." ); }

public override void OnPointerExit( PointerEventData data ) { Debug.Log( "OnPointerExit called." ); }

public override void OnPointerUp( PointerEventData data ) { Debug.Log( "OnPointerUp called." ); }

public override void OnScroll( PointerEventData data ) { Debug.Log( "OnScroll called." ); }

public override void OnSelect( BaseEventData data ) { Debug.Log( "OnSelect called." ); }

public override void OnSubmit( BaseEventData data ) { Debug.Log( "OnSubmit called." ); }

public override void OnUpdateSelected( BaseEventData data ) { Debug.Log( "OnUpdateSelected called." ); } }

...or you can specify individual delegates:

no example available in JavaScript
using UnityEngine;
using UnityEngine.EventSystems;

public class EventTriggerDelegateExample : MonoBehaviour { void Start( ) { EventTrigger trigger = GetComponent<EventTrigger>( ); EventTrigger.Entry entry = new EventTrigger.Entry( ); entry.eventID = EventTriggerType.PointerDown; entry.callback.AddListener( ( data ) => { OnPointerDownDelegate( (PointerEventData)data ); } ); trigger.triggers.Add( entry ); }

public void OnPointerDownDelegate( PointerEventData data ) { Debug.Log( "OnPointerDownDelegate called." ); } }

Variables

triggersAll the functions registered in this EventTrigger.

Public Functions

OnBeginDragCalled before a drag is started.
OnCancelCalled by the EventSystem when a Cancel event occurs.
OnDeselectCalled by the EventSystem when a new object is being selected.
OnDragCalled by the EventSystem every time the pointer is moved during dragging.
OnDropCalled by the EventSystem when an object accepts a drop.
OnEndDragCalled by the EventSystem once dragging ends.
OnInitializePotentialDragCalled by the EventSystem when a drag has been found, but before it is valid to begin the drag.
OnMoveCalled by the EventSystem when a Move event occurs.
OnPointerClickCalled by the EventSystem when a Click event occurs.
OnPointerDownCalled by the EventSystem when a PointerDown event occurs.
OnPointerEnterCalled by the EventSystem when the pointer enters the object associated with this EventTrigger.
OnPointerExitCalled by the EventSystem when the pointer exits the object associated with this EventTrigger.
OnPointerUpCalled by the EventSystem when a PointerUp event occurs.
OnScrollCalled by the EventSystem when a Scroll event occurs.
OnSelectCalled by the EventSystem when a Select event occurs.
OnSubmitCalled by the EventSystem when a Submit event occurs.
OnUpdateSelectedCalled by the EventSystem when the object associated with this EventTrigger is updated.

Inherited members

Variables

enabledEnabled Behaviours are Updated, disabled Behaviours are not.
isActiveAndEnabledHas the Behaviour had enabled called.
gameObjectThe game object this component is attached to. A component is always attached to a game object.
tagThe tag of this game object.
transformThe Transform attached to this GameObject (null if there is none attached).
useGUILayoutDisabling this lets you skip the GUI layout phase.
hideFlagsShould the object be hidden, saved with the scene or modifiable by the user?
nameThe name of the object.

Public Functions

BroadcastMessageCalls the method named methodName on every MonoBehaviour in this game object or any of its children.
CompareTagIs this game object tagged with tag ?
GetComponentReturns the component of Type type if the game object has one attached, null if it doesn't.
GetComponentInChildrenReturns the component of Type type in the GameObject or any of its children using depth first search.
GetComponentInParentReturns the component of Type type in the GameObject or any of its parents.
GetComponentsReturns all components of Type type in the GameObject.
GetComponentsInChildrenReturns all components of Type type in the GameObject or any of its children.
GetComponentsInParentReturns all components of Type type in the GameObject or any of its parents.
SendMessageCalls the method named methodName on every MonoBehaviour in this game object.
SendMessageUpwardsCalls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour.
CancelInvokeCancels all Invoke calls on this MonoBehaviour.
InvokeInvokes the method methodName in time seconds.
InvokeRepeatingInvokes the method methodName in time seconds, then repeatedly every repeatRate seconds.
IsInvokingIs any invoke on methodName pending?
StartCoroutineStarts a coroutine.
StopAllCoroutinesStops all coroutines running on this behaviour.
StopCoroutineStops the first coroutine named methodName, or the coroutine stored in routine running on this behaviour.
GetInstanceIDReturns the instance id of the object.
ToStringReturns the name of the game object.

Static Functions

printLogs message to the Unity Console (identical to Debug.Log).
DestroyRemoves a gameobject, component or asset.
DestroyImmediateDestroys the object obj immediately.
DontDestroyOnLoadMakes the object target not be destroyed automatically when loading a new scene.
FindObjectOfTypeReturns the first active loaded object of Type type.
FindObjectsOfTypeReturns a list of all active loaded objects of Type type.
InstantiateReturns a copy of the object original.

Operators

boolDoes the object exist?
operator !=Compares if two objects refer to a different object.
operator ==Compares two object references to see if they refer to the same object.

Messages

AwakeAwake is called when the script instance is being loaded.
FixedUpdateThis function is called every fixed framerate frame, if the MonoBehaviour is enabled.
LateUpdateLateUpdate is called every frame, if the Behaviour is enabled.
OnAnimatorIKCallback for setting up animation IK (inverse kinematics).
OnAnimatorMoveCallback for processing animation movements for modifying root motion.
OnApplicationFocusSent to all game objects when the player gets or loses focus.
OnApplicationPauseSent to all game objects when the player pauses.
OnApplicationQuitSent to all game objects before the application is quit.
OnAudioFilterReadIf OnAudioFilterRead is implemented, Unity will insert a custom filter into the audio DSP chain.
OnBecameInvisibleOnBecameInvisible is called when the renderer is no longer visible by any camera.
OnBecameVisibleOnBecameVisible is called when the renderer became visible by any camera.
OnCollisionEnterOnCollisionEnter is called when this collider/rigidbody has begun touching another rigidbody/collider.
OnCollisionEnter2DSent when an incoming collider makes contact with this object's collider (2D physics only).
OnCollisionExitOnCollisionExit is called when this collider/rigidbody has stopped touching another rigidbody/collider.
OnCollisionExit2DSent when a collider on another object stops touching this object's collider (2D physics only).
OnCollisionStayOnCollisionStay is called once per frame for every collider/rigidbody that is touching rigidbody/collider.
OnCollisionStay2DSent each frame where a collider on another object is touching this object's collider (2D physics only).
OnConnectedToServerCalled on the client when you have successfully connected to a server.
OnControllerColliderHitOnControllerColliderHit is called when the controller hits a collider while performing a Move.
OnDestroyThis function is called when the MonoBehaviour will be destroyed.
OnDisableThis function is called when the behaviour becomes disabled () or inactive.
OnDisconnectedFromServerCalled on the client when the connection was lost or you disconnected from the server.
OnDrawGizmosImplement OnDrawGizmos if you want to draw gizmos that are also pickable and always drawn.
OnDrawGizmosSelectedImplement this OnDrawGizmosSelected if you want to draw gizmos only if the object is selected.
OnEnableThis function is called when the object becomes enabled and active.
OnFailedToConnectCalled on the client when a connection attempt fails for some reason.
OnFailedToConnectToMasterServerCalled on clients or servers when there is a problem connecting to the MasterServer.
OnGUIOnGUI is called for rendering and handling GUI events.
OnJointBreakCalled when a joint attached to the same game object broke.
OnJointBreak2DCalled when a Joint2D attached to the same game object breaks.
OnMasterServerEventCalled on clients or servers when reporting events from the MasterServer.
OnMouseDownOnMouseDown is called when the user has pressed the mouse button while over the GUIElement or Collider.
OnMouseDragOnMouseDrag is called when the user has clicked on a GUIElement or Collider and is still holding down the mouse.
OnMouseEnterCalled when the mouse enters the GUIElement or Collider.
OnMouseExitCalled when the mouse is not any longer over the GUIElement or Collider.
OnMouseOverCalled every frame while the mouse is over the GUIElement or Collider.
OnMouseUpOnMouseUp is called when the user has released the mouse button.
OnMouseUpAsButtonOnMouseUpAsButton is only called when the mouse is released over the same GUIElement or Collider as it was pressed.
OnNetworkInstantiateCalled on objects which have been network instantiated with Network.Instantiate.
OnParticleCollisionOnParticleCollision is called when a particle hits a collider.
OnParticleTriggerOnParticleTrigger is called when any particles in a particle system meet the conditions in the trigger module.
OnPlayerConnectedCalled on the server whenever a new player has successfully connected.
OnPlayerDisconnectedCalled on the server whenever a player disconnected from the server.
OnPostRenderOnPostRender is called after a camera finished rendering the scene.
OnPreCullOnPreCull is called before a camera culls the scene.
OnPreRenderOnPreRender is called before a camera starts rendering the scene.
OnRenderImageOnRenderImage is called after all rendering is complete to render image.
OnRenderObjectOnRenderObject is called after camera has rendered the scene.
OnSerializeNetworkViewUsed to customize synchronization of variables in a script watched by a network view.
OnServerInitializedCalled on the server whenever a Network.InitializeServer was invoked and has completed.
OnTransformChildrenChangedThis function is called when the list of children of the transform of the GameObject has changed.
OnTransformParentChangedThis function is called when the parent property of the transform of the GameObject has changed.
OnTriggerEnterOnTriggerEnter is called when the Collider other enters the trigger.
OnTriggerEnter2DSent when another object enters a trigger collider attached to this object (2D physics only).
OnTriggerExitOnTriggerExit is called when the Collider other has stopped touching the trigger.
OnTriggerExit2DSent when another object leaves a trigger collider attached to this object (2D physics only).
OnTriggerStayOnTriggerStay is called once per frame for every Collider other that is touching the trigger.
OnTriggerStay2DSent each frame where another object is within a trigger collider attached to this object (2D physics only).
OnValidateThis function is called when the script is loaded or a value is changed in the inspector (Called in the editor only).
OnWillRenderObjectOnWillRenderObject is called for each camera if the object is visible.
ResetReset to default values.
StartStart is called on the frame when a script is enabled just before any of the Update methods is called the first time.
UpdateUpdate is called every frame, if the MonoBehaviour is enabled.