Pivot Points are not centered correctly

I have had some problems on 3d objects pivots points that are not centered correctly. I have worked around this by creating a parent gameobject and using that as a way to re-center my pivot points. Is there a way to just reset or set the pivot points ourselves ?

Here is an example of what I mean

This blankets pivot point is not in the middle. I am working with another team and some items that they send me are like this also. By creating a parent object I feel like I am wasting unnecessary resourses. Although if there isin’t any other way of fixing this I can still use it.

Well the pivot is where it has been authored to be with. In fact the pivot isn’t actually a particular point that is “set” but it’s simply the origin of the local space. So if you have a cube mesh and the vertex coordinates are ± 0.5, the origin would be in the center. If you want to have the pivot / origin at the bottom, the y coordinates of all vertices would need to be in the range 0 to 1 instead of -0.5 to 0.5. So to “move” the pivot, you would need to move all vertices equally in the opposite direction.

Unity does not have any method build in to modify imported meshes or assets. Unity is not a modelling application. Though Unity now has ProBuilder which allows you to create meshes inside Unity, though the fact still stands that Unity is not a modelling software.

You haven’t said where those “3d objects” actually come from. If the pivot are not where you want them, change it in the modelling software they were created with. If the mesh is a procedural mesh, you have to define your vertices around your desired pivot / origin.

As you already discovered, you can adjust the pivot by using the gameobject hierarchy and using an empty gameobject as the new parent and apply the necessary transformation there. It is possible to create an asset post processor that post-processes all assets and could manipulate the imported data during import. However in most cases that wouldn’t make much sense. First of all that code would need to work with ALL models you import or you need to somehow add a filter based on the file name / folder name / whatever to only affect a certain subset. This would only make sense when you import a lot similar objects often and the adjustments in the actual source files would be too much work. This is quite rare.