Hi,

So here’s what I am doing. I have a quite complex game object consisting of various child objects. I automatically calculate the correct bounds size using this code (also considering rotation):

```
private void CalculateBounds()
{
Quaternion currentRotation = this.transform.rotation;
this.transform.rotation = Quaternion.Euler(0f,0f,0f);
Bounds bounds = new Bounds(this.transform.position, Vector3.zero);
foreach(Renderer renderer in GetComponentsInChildren<Renderer>())
{
bounds.Encapsulate(renderer.bounds);
}
Vector3 localCenter = bounds.center - this.transform.position;
// Making a cube
GameObject cube = GameObject.CreatePrimitive (PrimitiveType.Cube);
cube.transform.position = bounds.center;
cube.transform.localScale = bounds.extents * 2;
this.transform.rotation = currentRotation;
cube.transform.localRotation = this.transform.rotation;
}
```

The cube has the correct size, but is has a certain offset (see screenshot). I just can’t figure out why. Any ideas?