SetParent changing the relative position of the parent

I feel like this is a bug.

Basically I have two game objects, one at position -7,0,0 and one at 7,0,0

These two have a script on them that creates a Tile class script, which in turn creates a GameObject and sets the parent to the first object.

(tiles is an array of Tile, but when testing t was 0 and not in any kind of loop. SetSprite alone causes no issues. It is only when SetParent is called. SetParent is the last thing called.)

When the parent is set, the parent objects are moved on screen to the centre, but retain their positions. This means they are still -7,0,0 and 7,0,0 but they occupy the same space on screen.

They have no parents of their own, they are just at different positions while in the same position. I have to move them to -14,0,0 and 14,0,0 to get them back to where they should be. Their positions are completely independent of other objects in the game and I can’t see why.

“Solved” it.

It was simply basing the position of the movement indicator on the child object’s position (0). Not sure why though, but it’s working at least.

I assume the movement indicator places itself at the average position of all the component (child) pieces?