OnMouseOver alternative?

So I have a grid of 150 GameObjects each with a box collider and I’m using OnMouseOver to highlight the grid square the mouse pointer is over in 3D space. Each grid square object has a simple script with the OnMouseOver and OnMouseExit methods. Problem is the OnMouseOver event doesn’t fire for every square depending on angle, distance etc… I’m using RayCast when the mouse button is clicked but is there a better option for detecting when the mouse is over the grid squares?

Well, you can use the Event System. There are several interfaces in the UnityEngine.EventSystems namespace that your MonoBehaviours can implement, such as IPointerClickHandler.
You have to add Event System game object to the scene and make sure there is an object with PhysicsRaycaster component in the scene for this to work.