I have a gameobject that will switch its parent to another gameobject at runtime for no apparent reason. when exiting play mode nothing changes in the hierarchy. there is only a few lines of code currently and nothing to do with .parent anything. Is this a common bug? the hierarchy is what determines the parent/child status yes?
Correct, the hierarchy shows the parent/child relationship. To move the object around you’d need to be setting tranform.parent, or transform.SetParent.
Is it possible that you’re destroying an object on one parent, and creating another of the same kind of object on the other parent?