Setting children position to Vector3.zero doesn't make them go to center of parent?

I thought I remember a child’s position being relative to it’s parent, so setting the child’s position to Vector3.zero would make it go to the center of it’s parent, but this does not seem to be the case and it is messing up my code, any ways to fix this?

EDIT: My game is 2D, could that have anything to do with it?

transform.position is based in world coordinates. When you set transform.position to Vector3.zero, you are putting the object in the center of the gameworld.

Assign Vector3.zero to transform.localPosition to set it to the center of its parent.