Move gameobject pivot

Hi, I have a gameobject with a very odd pivot point (at least that’s what i’m presuming it is), and so when I rotate the object in my script it rotates on that point so I’d like to adjust it’s position to a more practical place

alt text

I have tried using the SetPivot point script provided on the unity3d community wiki but it only works on meshes (?) and when I try and use it on my hands mesh it always turn out like so;
alt text

Any help is much appreciated

You can’t change the pivot, but you can create a custom pivot, to do this create an ampty GameObject and attach whatever GameObject you want to this empty GameObject.

Just wanted to update this with a simple solution that now exists since I was looking for the information as well and I just kept coming across the parent object work around.

  • Probuilder, which is a unity asset right off the asset store, that I believe they said was
    going to become standard in the
    future, has the ability to set the
    pivot point of an object in editor.
  • When you have an object selected
    clicking on “Freeze Transform
    will set the pivot point of the
    object to 0,0,0 in world space while
    keeping the other transform
    information of your mesh exactly
    where it is in world space. So just
    take the object that you want to
    correct the pivot of to near 0,0,0,
    align it how you want and then click
    Freeze Transform. Very Handy, and
    officially supported by unity.
  • There is also a button to set the
    pivot to the meshes center of mass if
    you just want to do that quickly.
  • An added benefit of downloading probuilder is that you can edit meshes in unity as well, which is obviously great.

Some export formats (like Collada) include the pivot point of the object.

As a workaround, you could open the model in your preferred 3d program (like Blender), set the pivot point there and export the model to Unity.
In Unity, you can set the tool handle position to ‘Pivot’

Well the custom pivot does work you just need to make sure any scripts that move the player are attached to the empty game object and the original object has not got them scripts and is made into a child of the empty game object.

I found this video tutorial which helped me to resolve the problem with a pivot - Unity Fix (move and rotate) Origin Pivot Orientation And Position

You can try out my asset here:

It allows you to modify pivot position and rotation conveniently from within the unity editor, it also provides you with various useful options like pivot snapping which allows you to manipulate the pivot more precisely. It also fits right within the inspector and needs no addition of components and opening windows from the editor.