How do I get an object to Instantiate infront of a specific object/player?

I’m trying to get an object to spawn in front of the player when I press a UI button, but the only way that will work is if the script is attached to the player which limits me to only being able to spawn one object. I want to be able to attach the script to the corresponding button and it will spawn in front of the player. How do I get the object to Instantiate in front of the player even when it isn’t attached to the player? My script:

public GameObject gameobj1;

void Start()
{

}

public void ButtonInteract()
{

    {
        Instantiate(gameobj1, transform.position + (transform.forward * 2), transform.rotation); 

    }
}

}

Try this:

public GameObject player;

void Start()
{
player = GameObject.Find(“player”);
}

public void ButtonInteract()
{
Instantiate(gameobj1, player.transform.position + (player.transform.forward * 2), player.transform.rotation);
}