How to reset a blueprint class pivot to the exact center?

I made some hallways which exist out static meshes, I converted them into a blueprint class to make it easier to handle/mass edit.

The problem I have now is that the pivot point isn’t in the exact center of the blueprint class, so if I try to move it in my level I always have to mini manage its coordinates.

Is there a way to change the pivot to the exact center of the meshes in a blueprint class?

MrGoatsy,

You should be able to right click the location you would like the pivot to be and go down to Pivot > Set Pivot Offset Here.

95599-pivot+2.png

Notice how the pivot changed from pic 1 to pic 2.

same question right now. I created a blueprint class out of some selected meshes in the editor and the pivot of the resulting blueprint is not where i want it/snapping is not accurate, and manually moving the objects is not accurate. I tried setting the pivot offset before creating the blueprint but pivot stays in same direction as before

If you have imported the static mesh then you will need to set the pivot before you import. I would usually do nothing about this issue.

You can ‘Alt+Middle Click and Drag’ the Transform Gizmo to adjust the pivot temporarily. But ones the object is deselected the gizmo returns to its original position. I dont know if this is what you want but hope it helps.

To permanently change the pivot you will need to export the mesh and reset the pivot in any 3d software and then reimport the mesh in Unreal.

Maybe call “GetActorBounds” on each actor you want to consider and average all of their return origins?

Break each Vector and start 3 float arrays, add all the X’s to one array, all of the Y’s to the 2nd array and all of the Z’s to the third array.

Get the average of each array. (sum each entry and divide by the number of entries)

Recombine the average of each array using a “MakeVector” node, x into x, y into y, etc.

This is off the top of my head but that should give you a common pivot.

//// Note
GetActorBounds RETURNS the Exact Center of the Mesh and Calls It “Origin”, GetActorBounds also RETURNS the Length, Width and Height of the Resulting Bounds as 1/2 their Length and Calls Them “Extents”.

////Note
If you wanted to get the BOTTOM CENTER which is handy, get the common pivot point from above and then break the origin vector, and break the extents vector open, SUBTRACT EXTENTS Z from ORIGIN Z and recombine the whole mess. Add extents z to origin z and you would have the top center etc.