Unity Physics System Performance Drops Severely at 1000 Entities — Is This Expected?


I may be missing something here, but I’m seeing a major performance issue with Unity Physics.

In my setup, I spawn about 10–20 entities every three seconds. Once the total entity count goes beyond 500, my frame rate drops sharply—from roughly 400 FPS down to around 10 FPS.

The only system interacting with these entities is the Unity Physics group. When I disable the Physics group systems, the frame rate immediately rises back up to about 200–250 FPS.

For reference:

  • Machine: Mac Pro, M2 Max, 32 GB RAM
  • Unity version: 6.2

This strongly suggests the performance bottleneck comes directly from Unity Physics. Is this behavior expected at such a relatively low entity count, or could there be something I’m overlooking in my setup?

From the looks of the screenshot it seems like all physics objects are actively colliding with one another. If there’s one thing that brings a physics engine down to a crawl it’s many overlapping colliders (aka collisions), more so if one object touches more than one other object. The amount of iterations explodes exponentially since everything affects everything else back and forth.

I bet you can comfortably have 100,000 of these if they give each other some space. :wink:

You should also verify in a build because the editor adds processing overhead and the code is not or less optimized.

1 Like

Holy cow, it works! Thank you for your reply! However, I expected the FPS to be at least around 300–350 for 2,000 entities instead of 150-180fps

Well, you’re still measuring in the editor. Add Graphy (Asset Store) to your scene and make a build.

Also note that the render thread is almost the same as CPU, which may be caused by these blue transparent outlines.

Also check Project Settings / Physics and Time for options that affect performance.