How do I reduce framerate drops when many objects are colliding?

In my game, I’ve made it so enemies don’t overlap by using collisions — they constantly check and push each other to avoid stacking. However, when there are a lot of enemies on screen, the framerate starts to drop noticeably. I assume this is because of the large number of collision checks happening at once.

Is there any way to fix this performance issue?

Also, in my case, allowing enemies to fully overlap doesn’t look good visually, so I can’t simply turn off the collisions. Is there a method to make them avoid each other with fewer checks, or perhaps allow slight overlapping while still trying to separate most of the time?

If there’s any useful extension or optimization tip for this, I’d really appreciate it.

The physics behavior has efficient collisions.

or Boids by enabling only the separation:
https://wiki.gdevelop.io/gdevelop5/extensions/boids-movement/

i’ll try that extension thx