How do you drop a GameObject into another one without transform changing?

Something that really frustrates me is when you have a list of GameObjects in the Hierarchy view and you drag and drop one into another to create it as a child of the one you dropped it into and all the transform position values change to keep it in the exact same spot as it was initially.

I want to be able to drag and drop without the transform changing, for example I create a child object with a transform of 0,0,0 I want it to maintain it’s 0,0,0 under the new parent. currently I have to drag and drop then manually edit the transform back to what it was.

Is there a shortcut or key I press to do this?

What you see in the inspector is the transform’s local position/rotation/scale.

The actual (global) position/rotation/scale remains unchanged, which is what I would expect from parenting objects.

Why not parent the objects then alter the transform variables?

This is what I do, but consider this, I have say 30 Objects already created in the Hierarchy and then later decide to add another child to all of them, I create the first child as a child of one of the parent objects and then set transform to the distance I want the child to be from it’s parent. I now duplicate the child and drop it on to each of the remaining 29 objects. BUT all of them now need their transforms fixing up to match the 1st one.