About "Pivot/Center" rotation

Just starting unity and not connecting what I see so needed to ask this. Really simple example.

  1. Create empty game object.
  2. Attach sphere as child to empty game object
  3. Move cube somewhere away from the game object which is still set at 0,0,0
  4. Click on sphere and rotate in local. Rotation works great.
  5. Click on “Pivot” expecting the pivot to jump back to 0,0,0 (the location of the empty game object) but the rotation axis surround the sphere just like it was still in global

With a sphere and a cube

  1. Create empty G.O.
  2. Attatch sphere and cube to G.O.
  3. Move objects away
  4. With empty G.O. selected, set it to pivot and it seems like a point in space is the average position between the sphere and cube. What is happening here?

The confusion here, is that it’s not choosing between global and local pivots at all!

They’re actually two different buttons.

There is one button, the ‘pivot / center’ button, which changes the pivot point that you are rotating objects around from the object’s pivot, to the centre of the object and all its children’s bounding boxes.

The other button, the ‘Global / Local’ button, changes the space in which an object is rotated / moved / scaled. In ‘Global’ space, it always aligns to the global xyz axes, in ‘Local’ space it aligns to the object itself (which is different if something higher in the transform hierarchy has rotated but not the object itself).