Custom physics shape or compound body

I’m looking for a way to handle objects with potentially hundreds of thousands of shapes as a part of one actor. I’ve done this in c# using a customized version of Jitter Physics. I was able to do it as I know the layout of the body is uniform (think Minecraft) but obviously with wanting to switch to UE that means moving to PhysX which I’ve never used before. It seems to tolerate a couple thousand objects as a part of one actor ok, but not anywhere near the scale I was at. So I’m looking for some advice as to where to start with getting UE/PhysX to handle this.

In Jitter I had a custom compound shape that knew the layout of the shapes and knew how to infer the bounding boxes instead of recalculating a BVH each frame or brute-forcing it like Jitter. Is this possible in PhysX without a massive overhaul? Is it possible/practical to create a custom compound shape in PhysX?

What does PhysX use internally for collision detection? Jitter uses XenoCollide (Minkowski Portal Refinement)

By the way these are moving bodies, so using a static mesh or equivalent isn’t a possibility.

Thanks!