How to instantiate a prefab at mouse pos

Does anyone know how to instantiate a prefab at the mouse pos on screen? (Preferably on a grid pattern) The script I use doesn’t do anything when I click.

var Block:GameObject;

function Update () 
    {
    if (Input.GetButtonDown ("Fire1")) 
        {
        var mousePos = Input.mousePosition;
        mousePos.z = -12.48309;       // we want -12m away from the camera position
 
        var objectPos = Camera.main.ScreenToWorldPoint(mousePos);
        Instantiate(Block, objectPos, Quaternion.identity);
        }
    }

Looks like you were very close, your object is probably behind the camera. You should be able to see a new object show up in the hierarchy, try changing the mousePos.z to a positive value, making sure it is larger than the camera’s near plane.

var Block:GameObject;
 
function Update () 
    {
    if (Input.GetButtonDown ("Fire1")) 
        {
        var mousePos = Input.mousePosition;
        mousePos.z = 12.48309;
 
        var objectPos = Camera.main.ScreenToWorldPoint(mousePos);
        Instantiate(Block, objectPos, Quaternion.identity);
        }
    }