Instantiate Problem

Whenever I instantiate the Prefab, it doesn't spawn at the position of the sphere but at (0,0,0). why is this? in my script I used "...GameObject.Find("Spawner").transform.position..."

function CreatePlane()
{
    switch(random)
    {
        case 5:
            Instantiate( planePrefab, GameObject.Find("Spawner5").transform.position, Quaternion.identity);
        break;
        case 4:
            Instantiate( planePrefab, GameObject.Find("Spawner4").transform.position, Quaternion.identity);
        break;
        case 3:
            Instantiate( planePrefab, GameObject.Find("Spawner3").transform.position, Quaternion.identity);
        break;
        case 2:
            Instantiate( planePrefab, GameObject.Find("Spawner2").transform.position, Quaternion.identity);
        break;
        case 1:
            Instantiate( planePrefab, GameObject.Find("Spawner1").transform.position, Quaternion.identity);
        break;
    }
}

Make sure your script can actually find the Spawner objects first. print out whether or not the return from Find is an actual object.

Next, check the position of that object (via another print) - it's possible that you could have duplicates at Vector3.zero that you didn't know about

Edit: removed the script from here and put it into the question

That is also my guess. Your code GameObject.Find("Spawner1") doesnt return a valid game object and thus the Instantiate falls back to spawning your object at 0,0,0

Is it possible that the item you are instantiating has animation attached to it.
If so, try turning the animation off.