Playable build – updated
Physics rigidbody mass properties
Unity’s physics automatically calculates the centre of mass and inertia tensor for a rigidbody based on the colliders attached to it. The PhysX API allows you to specify a mass or density per collider, but unfortunately Unity doesn’t expose this, it just assumes a uniform density.
Given that the parts you build from can have very different densities based on their material (e.g. wood vs. metal), I wanted the centre of mass and inertia tensor of a construction to properly reflect its constituent parts. So, after writing a whole load of code that essentially duplicates some PhysX functionality, per-part densities are now taken into account when calculating the total mass properties.
This is more physically correct, but what’s the practical benefit to the player? Well, when building you can now decide to use heavier parts to affect the stability of your constructions (e.g. use metal parts for the chassis of a car, and lighter materials for the body, to give it a lower centre of gravity). This will have more benefit once there are more part assets made from a greater variety of materials.
TL;DR The materials that parts are made from now affects physics game-play, not just the visuals.