Is there a way to detect from which GameObject OnMouseOver come from?

I have a monster, and i want to attach an OnMouseOver so its something like this : (QUICK MOCH UP)

function OnMouseOver(){
//somehow figureout what clicked and send a message to that person saying attack monster

that way theperson will strt attacking him, so is there anyway to detect this?

You can query the mouse position from Input which is a screen position Check the Camera class for stuff like ScreenPointToRay() and try doing a raycast with the ray returned.

Maybe I misunderstood you, but per definition a MouseClick will always be performed by the user. A GameObject can't "click" on some other object... Also there is the OnMouseDown() method which will work for you in this case.