I want to instantiate an object in a specific position defined by another gameobject, but I do not want the instantiated object to be the child of that target object
you could call Instantiate with parameters
Instantiate(ObjectToInstantiate, new pos, rotation);
pos is the position of the target
rotation is the rotation of the target (you an also use
Quaternion rotation=Quaternion.identity to set the rotation to the default (0 ,0 ,0) rotation)
ObjectToInstantiate is the gameobject that will be Instantiated
this may also help you.