Instantiate() creates two GameObjects in scene

Hello

with this code attached into object

 void Start()
        {
            GameObject o = new GameObject("test");
            Instantiate(o);
        }

script creates two gameobjects after run like this
78022-clonegameobject.png

any ideas? Im sure script is called only once

GameObject o = new GameObject("test"); also creates a game object. You do not need to call Instantiate as it creates a copy of a referenced game object in a current scene. Instantiated is needed to spawn prefabs, not empty game objects, because prefabs do not exist in scene and empty game objects you create like above do exist.