The concept of instantiating a GameObject in the game is the same as instantiating an instance of a class—both require starting values so that C# knows what kind of object we want to create and where it needs to be created. However, when we instantiate a GameObject in the scene, we can streamline the process by using the Instantiate() method and providing a prefab object, a starting position, and a starting rotation.
Essentially, we can tell Unity to create a given object with all its components and scripts at this spot, looking in this direction, and then manipulate it as needed once it's born in 3D space. Before we instantiate an object, you'll need to create the object prefab itself, which is your next task.