'Touching' an object in 3d view

‘Touch’ on a 3d object

My goal is to be able to select the spiky balls if they are in the field of view of the camera, regardless of the camera position/angle, with a mouse click or touch (on mobile) on the object.
I first tried using ‘touch/cursor is on’ the spiky ball, but realized that doesn’t take into account the z position of the cursor…
I’ve tried using 3d raycast, which I assume is the path I need to follow, but couldn’t get that working either…
After several failed attempts with other ideas, I’ve come here looking for help.

Anyone know how I would accomplish what I’m trying to do?

(All code needed to recreate in screenshots… free 3d models used… third person camera extension used)