Two root causes, both in how the chassis box was authored:
1. The box centre was -Extent.Z*0.25, below the root bone, so the box sat under the
ground and the suspension pushed the whole vehicle up. The skeletal mesh imports
ROLLED (height along Y, width along Z) while the armature is unrolled, so the box is
now built with swapped axes (length from mesh X, width from mesh Z, height from mesh
Y) and centred at the rolled mesh's mid-height (Bounds.Origin.Y). The vehicle now
settles at Z 6 cm instead of floating at 33 m.
2. A left-over diagnostic stopped the movement component at 2.5 s whenever the pawn
ticked, which cut the drive test (throttle runs 1-4 s). It is now gated on the vehicle
actually having zero wheels.
Remaining: the drive test still reports ~0 forward speed, so the throttle does not yet
move the car - the wheels rest ~2 cm above the ground because the suspension rest
position is measured against the root bone while the box sits at the centre of mass.
Chaos drives a skeletal mesh, so the static system split was not drivable on its own. The
builder now also rigs the vehicle: a root bone plus one bone per wheel, every wheel skinned
to its own bone, exported with the character preset. SK_Vehicle_Sedan imports with
SK_Vehicle_Sedan_Skeleton (508 triangles).
Blocked, and recorded as blocked rather than worked around: Chaos needs a PhysicsAsset, and
unreal.PhysicsAssetFactory in 5.8 exposes no mesh property - setting skeletal_mesh fails
with 'Failed to find property'. Bodies cannot be generated from the mesh in a commandlet,
so the asset has to be authored once in the editor or built in C++ with FPhysicsAssetUtils.
Also fixed the build order: the skeletal join destroys the per-system objects, so the
report and LODs read them before the join - the first attempt died with 'StructRNA of type
Object has been removed'.