Decisive experiment: the same SM_Vehicle_Body staged as a plain StaticMeshActor 5.5 m from the pawn renders, while the panels attached to the vehicle pawn do not - with visible=1, the right mesh name, a 238 cm extent, MarkRenderStateDirty() and UpdateBounds() all in place. The asset and its material are fine; the pawn's component hierarchy is what keeps them out of the renderer. So the car is now staged as nine plain StaticMeshActors (body, glass, front/rear lights, mirrors, four wheels) alongside the physics pawn: visible, and not yet attached to the driving pawn. A visible car that does not drive yet beats an invisible one that does. Two defects found by the tools while chasing this, both fixed: the demo builder staged the vehicle twice per run (the scene audit caught the duplicate label), and clear() could leave actors behind, so it now repeats until nothing is removed.
30 KiBLFS
30 KiBLFS