Rotating a complex GameObject around its center.

I’m trying to rotate a GameObject that consists of several cubes around y-axis of its center of gravity using a script (Picture 1). However, it’s rotating around its pivot point when I use transform.Rotate() (Picture 2). Is there a way to make it rotate around the point in Picture 1?

[22082-screen+shot+2014-02-12+at+3.57.31+pm.png|22082]

[22083-screen+shot+2014-02-12+at+3.57.42+pm.png|22083]

You probably just want to change the “pivot” of the parent object. Which means change the parent object’s position and adjust the child objects’ positions accordingly:

public void PivotTo(Vector3 position)
{
    Vector3 offset = transform.position - position;

    foreach (Transform child in transform)
        child.transform.position += offset;

    transform.position = position;
}

So can just calculate your center of mass or whatever position and tell the parent object to “pivot” to there.