How to make rigidbody recalculate center of mass? (Or rather, why is the center of mass outside of my meshcollider)

I’m swapping out a mesh in my meshcollider. Is there any way (not involing straight up removing the current rigidbody and adding a new one cause I have like a milion things depending on it) to recalculate the center of mass and inertia tensor, other than doing it manually?

Not that I can’t do it manually, just seems like a stupid thing to do when the functionality is clearly somewhere within the rigidbody component.

UPDATE: Afer some testing I’ve noticed that it actually DOES recalculate the center of mass when swapping the meshes. However, the center of mass is placed OUTSIDE of the mesh. The mesh is convex. I’ve no idea what I’m doing wrong. Attaching a picture, the center of mass is marked as the red wiresphere. 111432-center-of-mass.png

UPDATE: A through read of the docs and some poking around revealed what the issue was. According to the docs:
Note: centerOfMass is relative to the transform’s position and rotation, but will not reflect the transform’s scale!

Because my mesh was scaled roughly 4 times, the center of mass appeared to be outside because I used transform.TransformPoint(GetComponent().centerOfMass) to get its global coordinates.

Docs look like this would be the function to go for.

EDIT: just noticed your update. That is odd, is the mesh collider offset in anyway on the object?