Version: Unity 6.0 (6000.0)
LanguageEnglish
  • C#

MonoBehaviour.OnMouseDown()

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

Switch to Manual

Description

OnMouseDown is called when the user presses the left mouse button while over the Collider.

This event is sent to all scripts of the GameObject with Collider. Scripts of the parent or child objects do not receive this event.

When multiple cameras are present, to determine if the mouse is over a collider, Unity uses the camera that is rendering to the screen where the mouse is. For most cases, this is Camera.main, but with multiple cameras or custom setups it might differ. If you need more control, use Camera.ScreenPointToRay with a specific camera and perform your own raycasts in scripts.

This function is not called on objects that belong to Ignore Raycast layer.

This function is called on Colliders and 2D Colliders marked as trigger when the following properties are set to true:

OnMouseDown can be a coroutine.

using UnityEngine;

public class ExampleClass : MonoBehaviour { void OnMouseDown() { // Destroy the gameObject after clicking on it Destroy(gameObject); } }