Привет, во-первых, я бы переименовал вашу функцию Instantiate во что-то другое, поскольку она уже существует с UnityEngine.Object.
здесь 2 базовых c способа создания префабов
private void InstantiatePrefab(GameObject prefab, Vector3 position)
{
//Option 1. Spawn the prefab a set position and set rotation.
GameObject.Instantiate(prefab, position, Quaternion.identity);
//Option 2. Spawn the prefab (at prefab position), you can then move it where you want
GameObject instance = Instantiate<GameObject>(prefab);
instance.transform.position = position;
}
Они оба делают одно и то же.