How to Implement Raycast Detection in a 2D game, but need the z Axis?

I have a project, in which all I want to do is tap a Game Object posing as a title screen button. I want my tap to send a raycast in the Positive Z Axis, But It is a 2D Game, so how can I still detect when someone is tapping a game object?

I tried this with basic Raycast, but I got this really weird issue where only a few points on the screen were touchable, it seemed to be the shape of a circle in the middle of the screen is where touch would only register.

So can anyone help me implement touch for a simple menu?? I feel like a fool.

Assuming these are 2D colliders, you can just use Physics2D.Raycast() with a distance of 0. Or you can use Physics2D.OverlapPoint(), or Physics2D.OverlapPointNoAlloc().

Assuming an Orthographic camera:

var pos : Vector3 = Camera.main.ScreenToWorldPoint(Input.mousePosition);
var hit : RaycastHit2D = Physics2D.Raycast(pos, Vector2.up, 0.0);
if (hit.collider != null) {
    // Do the hit code.
}