Не работает OnMouseDown Unity

Не вызывается OnMouseDown при нажатии на объект. Коллайдер стоит, триггер ставил/убирал. Объект в canvas, image. Я пробовал через:

void IPointerDownHandler.OnPointerDown(PointerEventData eventData)

Но мне нужен не только клик, мне нужен OnMouseEnter, OnMouseExit. А их так не сделать.


Ответы (1 шт):

Автор решения: Yaroslav

Причём тут коллайдеры и триггеры, если речь о UI? Значение имеет только размер RectTransform и RaycastTarget на Image.

Прописать интерфейсы после MonoBehaviour не забыл? Вангую, забыл.

using UnityEngine;
using UnityEngine.EventSystems;

public class Example : MonoBehaviour, IPointerDownHandler, IPointerEnterHandler, IPointerExitHandler
{
    public void OnPointerDown (PointerEventData pointerEventData)
    {
        Debug.Log(name+".OnPointerDown");
    }
    
    public void OnPointerEnter (PointerEventData pointerEventData)
    {
        Debug.Log(name+".OnPointerEnter");
    }

    public void OnPointerExit (PointerEventData pointerEventData)
    {
        Debug.Log(name".OnPointerExit");
    }
}
→ Ссылка