title: IPointerClickHandler doesn't work on unity game object
body: <p>I have unity 2D project and I wanted to detect left click event on the player game object.</p>
  <ol>
  <li><p>I added Physics2DRaycaster to MainCamera <em>(see the first screen below)</em></p>
  </li>
  <li><p>I added two colliders to the game object (the circle collider is for detecting collisions, the box collider is triggered and used for click detection through IPointer) <em>(see the second screen below)</em></p>
  </li>
  <li><p>I implemented the interfaces: IPointerClickHandler,
  IPointerEnterHandler, IPointerDownHandler in the game object script. <em>(see the code below)</em></p>
  </li>
  <li><p>I have EventSystem object in scene <em>(see the third and fourth screen below)</em></p>
  </li>
  <li><p>I checked with a simple project that this combination works</p>
  </li>
  </ol>
  <p>But still in my project any click event isn't detecting at all. I have not idea why. I think the raycast itself doesn't work, because when I look at EventSystem logs in inspector I see that the player object doesn't detected.</p>
  <p><strong>UPDATE: I saw that if I switch off the canvas the IPointer gets work. But canvas elements is placed only around the player gameObject (menu buttton), but the game object isn't hided by the canvas</strong></p>
  <p><strong>UPDATE 2: Ok, I figured out that even if the canvas panel is transparent it still hides the game objects. So my question is, how can I detect click on game object if the canvas pannel is in front of the game object?</strong></p>
  <p>This is the script of the game object:</p>
  <pre><code>public class Player : MovingCharacter, IPointerClickHandler, IPointerEnterHandler, IPointerDownHandler
  {
  
      public void OnPointerDown(PointerEventData eventData)
      {
          Debug.Log(&quot;Down&quot;);
      }
      public void OnPointerClick(PointerEventData eventData)
      {
          Debug.Log(&quot;Clicked&quot;);
      }
  
      public void OnPointerEnter(PointerEventData eventData)
      {
          Debug.Log(&quot;Entered&quot;);
      }
  
      //other code......
  }
  </code></pre>
  <p>This is the MainCamera:</p>
  <p><a href="https://i.stack.imgur.com/qfHzW.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/qfHzW.png" alt="enter image description here" /></a></p>
  <p>This is my Game Object (Player):</p>
  <p><a href="https://i.stack.imgur.com/x7Aeu.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/x7Aeu.png" alt="enter image description here" /></a></p>
  <p>This is the EventSystem:</p>
  <p><a href="https://i.stack.imgur.com/YNcqE.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/YNcqE.png" alt="enter image description here" /></a></p>
  <p>And this is the project structure:</p>
  <p><a href="https://i.stack.imgur.com/zKpTw.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/zKpTw.png" alt="enter image description here" /></a></p>