Тогда лучше скиньте пакет с вашим нерабочим вариантом, потому что уже не хватает фантазии просчитать возможную причину этой проблемы.
Вот я создал UI кнопку, под кнопку (в иерархии визуально НАД) положил прозрачное UI image с включенной галочкой Raycast target (то-есть это изображение реагирует на клики).
Затем создал на сцене (не в Canvas) спрайт с коллайдером и повесил на него скрипт с методом ловящий клик:
Используется csharp
using UnityEngine.EventSystems;
private void OnMouseDown()
{
if (!EventSystem.current.IsPointerOverGameObject())// в начале знак !
{
Debug.Log("click");
}
}
Теперь если нажимаю на спрайт, то выводится сообщение. Если над спрайтом находится кнопка с прозрачным фоном на весь экран, то клики до спрайта уже не доходят. Всё работает.