I am using a Raycast2D to interface with my BoxCollider2D. The editor says that BoxCollider2D is in a certain position, but when I test out the program the Raycast suggests that the BoxCollider2D is offset from that position by a slight but obvious amount. Why is my BoxCollider2D being offset?
Thanks!
How I do it in a 2D Game would be the ScreenToWorldPoint camera function. You can then check if the point is within the bounds of your collider.
Example:
Vector2 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
if (col.OverlapPoint(mousePos))
Debug.Log("The mouse is inside the bounds of the box collider");
Ok, so, I found a solution. It appears the using raycasts do not collide correctly with BoxColliders2D that are part of a Canvas system. So, the solution is simply to set up a button and use the event system that Unity has created for this task. Take a look: