Much to my confusion and frustration, when I switched to Unity 5 on my current project I saw my physics performance get worse instead of better (which is not the result I've had upgrading other projects). As a result, despite only having 5 -10 rigidbodies in a scene at once, my physics cost is several milliseconds. Since I'm optimizing for VR those lost milliseconds are painful and this is dominating my frame's CPU load when things get complicated. My game is a space dogfighting sim with reasonably complex ships. An individual ship has some 20-40 colliders (which, for design reasons, can't be simplified very much; I need the detailed hitboxes), which are also duplicated on a second proxy object for netcode/smoothing reasons. Despite the apparent complexity, these proxies only have a single rigidbody each and their layers do not interact with one another. The environments have collision geometry, but the projectiles from weapons are raycasts and aren't part of the problem I'm trying to address as they show up in the profiler separately. Since the game is set in space, actual collisions between objects are extremely rare. Under Unity 4, this setup had a very low CPU cost frame to frame, which makes sense to me given how few moving objects there are and how rarely they interact. However, now I'm seeing a large performance cost, primarily in Physics.UpdateBodies. I'm also seeing the physics profiler report a huge (400+) number of contacts despite nothing actually colliding. Experiments suggest that this is related to entering bounding boxes of other geometry, as I'm able to make those contacts go away by flying a ship far from any of the world geometry. Anybody have any ideas why I'm getting poor physics performance? Did compound colliders just become more expensive or something?