Can I get the transform widget to center on the mesh, instead of the object origin?

Just to be clear on definitions, when I say ‘transform widget’, I’m referring to the this thing (not sure what the proper name of it is):
139280-capture.png

When selecting a mesh object, the widget appears at the objects origin (<0,0,0> in mesh space), which works fine in most cases. However, I’m in a situation where I’m working with meshes that are significantly offset from the origin, and the position of the widget is making it very hard to edit animations.

Is their anyway to configure the widget position? For example, blender let’s me position the widget at either the mesh origin, or at the center of existing vertices. Using the latter option would help me in
this case.

questions:

  • I couldn’t find an obvious way to change this in the project settings, am I missing something?
  • Is their a marketplace asset that I could use?
  • If this behavior isn’t available, can I get a confirmation, just so that I, and the community, are aware?

The ‘Gizmo handle position toggles’ section on the page linked by Bunny83 contains information that I was looking for.


The “Toggle Tool Handle Position” button can switch between ‘Pivot’ and ‘Center’. When ‘Center’ is selected, the tool handle is placed at the center of the selected object.


The “Toggle Tool Handle Rotation” also let’s you change the center of rotation between ‘Local’ and ‘Global’.

First of all the pivot / origin of a mesh will always be where it has been defined. Unity is not a modelling tool. So no, you can not change the “pivot”. Actually the pivot isn’t really a thing. It’s actually the other way round. All vertices are defined relative to the origin. Changing the pivot means moving all vertices in the opposite direction.

However inside the Unity editor you can define where the gizmo handles are displayed in the scene view. Note that changing the “Gizmo handle position toggles” from pivot to center does only change where the gizmos will be displayed. The actual object pivot will stay where it is.

A common solution, espectially if you need the pivot at a certain point for script access, is to create a new empty gameobject and make your actual object a child of that gameobject. Now you can position the object inside the empty gameobject the way you like so the new parent object will become the new root object.