Version: 2023.1
LanguageEnglish
  • C#

MonoBehaviour.OnMouseEnter()

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

Called when the mouse enters the Collider.

The corresponding OnMouseOver function is called while the mouse stays over the object and OnMouseExit is called when it moves away.

// Change the mesh color in response to mouse actions.

using UnityEngine; using System.Collections;

public class ExampleClass : MonoBehaviour { public Renderer rend;

void Start() { rend = GetComponent<Renderer>(); }

// The mesh goes red when the mouse is over it... void OnMouseEnter() { rend.material.color = Color.red; }

// ...the red fades out to cyan as the mouse is held over... void OnMouseOver() { rend.material.color -= new Color(0.1F, 0, 0) * Time.deltaTime; }

// ...and the mesh finally turns white when the mouse moves away. void OnMouseExit() { rend.material.color = Color.white; } }

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:

- For 3D physics: Physics.queriesHitTriggers

- For 2D physics: Physics2D.queriesHitTriggers

OnMouseEnter can be a co-routine, simply use the yield statement in the function. This event is sent to all scripts attached to the Collider.

See Also: OnMouseOver, OnMouseExit.