Pre-calculate physics in unity – Game development stack exchange

I have an autonomous physics simulation (for example, fragments of a crumbling building) which we know is identical, except for precision errors in floating point, to each execution.

Is there a way to improve performance by calculating / recording the simulation?

It seems that the built-in physics engine does not support it, but are there other engines that do it?

Or, record the transformation of each Rigidbody in the simulation, and then restore those transformations, would it be a sensible approach to increase performance? This would remove a lot of rigid bodies, joints and would flatten the hierarchy.