The cyan wire in your first screenshot is a convex hull, not the circle you modeled. On import Unreal builds simple collision (a convex hull with a small vertex budget), so a disc collapses to a coarse polygon. That hull is what a Blueprint reads if it is pulling vertices off the collision. The dense grid in the Blender shot is the render mesh. Collision does not store those interior points.
To make traces follow the real triangles:
- Open the static mesh, Collision menu, Remove Collision. That deletes the generated hull.
- In Details, under Collision, set Collision Complexity to Use Complex Collision As Simple. Complex collision is the triangle mesh, not another hull.
- In LOD Settings set LOD for Collision to 0, and do not let auto LOD reduce it (Number of LODs = 1, or the reduction percent left at 1). Otherwise the cook uses a simplified LOD.
- If Nanite is on, collision ignores the Nanite mesh and uses the fallback mesh, which is decimated. Disable Nanite on this asset, or set Fallback Triangle Percent to 100 and Fallback Relative Error to 0, then rebuild.
After that, Show > Complex Collision should match the LOD0 wireframe.
Two limits, so the points you capture still will not be the Blender vertex list:
- A trace returns a point on a triangle, not the mesh’s vertices. Interior grid points that are not corners of those triangles never come back.
- There is no Blueprint node that dumps cooked collision vertices cleanly. To read the vertices you authored, use Geometry Script: Copy Mesh From Static Mesh on LOD 0, then Get Vertex Positions. The physics cook welds and quantizes, and it drops anything that is not part of the surface.
If LOD0 in the mesh editor is already the coarse circle, the loss happened at FBX import, not in the collision menu. Apply the modifiers in Blender, export that mesh, and compare the LOD0 vertex count with Blender before you touch collision.
I think that is key.

