You can raycast to other things than a collider. If you make a mathematical Plane object (invisible) at the altitude you want your plane to fly at, then you just raycast to that.
That’s how I would do the “where is the player” problem in Shooty Skies. (EDIT: I did NOT write shooty skies; I’m simply observing the video)
Raycasting, colliders, planes, Plane, etc:
BE SURE to get the order of constructors correct for a new Plane() object!!