Spawning objects help

Hello there, this script spawns a prefab in front of the player when E is pressed however the player does not know exactly where he/she is placing the object.

How could this script be altered so that the first time E is pressed it shows where the object will be placed but is still moveable (it is just following the player around) at this point the player can either press E again to place the object in that desired position or press Esc and delete the object all together? Thanks.

    public var prefabObject : GameObject;
    private var offset : Vector3;
    private var fwd : Vector3;
    private var clone : GameObject;
    var unit : float = 3.0f;
     
    function Update()
    {
    fwd = transform.TransformDirection(Vector3.forward) * unit;
    offset = transform.position + fwd;
    if(Input.GetKeyDown(KeyCode.E))
    {
    clone = Instantiate(prefabObject, offset, transform.rotation);
    }
    }

I solved it by writing this script which hides and shows the object that is going to be placed but is not actually part of the placing function.

renderer.enabled = false;


function Update () {

if(Input.GetKeyDown(KeyCode.Z)){

renderer.enabled = true;
}

if(Input.GetKeyDown(KeyCode.X)){

renderer.enabled = false;
}
}

If knowing where it will spawn is your problem try putting a gameobject or small cube attach to your player in front of them, `var spawntarget : Transform;

public var prefabObject : GameObject;
private var offset : Vector3;
private var fwd : Vector3;
private var clone : GameObject;
var unit : float = 3.0f;

function Update()
{
fwd = transform.TransformDirection(Vector3.forward) * unit;
offset = transform.position + fwd;
if(Input.GetKeyDown(KeyCode.E))
{
clone = Instantiate(prefabObject, spawntarget.position, transform.rotation);
}else if(Input.GetKey("r")){
clone.position = spawntarget.position;

}

}

`

This allows the player to know where the object will spawn, and how to move it