Instantiate() creates two GameObjects in scene


with this code attached into object

 void Start()
            GameObject o = new GameObject("test");

script creates two gameobjects after run like this

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.