Instanced Static Mesh + Opacity Problems

I have created several instanced static meshes with random coordinates and orientations. I’m currently just using a plane mesh. My first attempt uses a simple placeholder texture; this was an imported PNG. If I set this up with an opacity mask (so alpha is either 0 or 1), then everything works as expected:

However, if I soften the edges of the image/texture in photoshop, and set it up with a full opacity, this happens:

Note here that only the edges of the material are supposed to be transparent. The opacity is working, but the engine appears to have almost mixed up the ‘order’ in which it’s showing me the objects.

This screenshot illustrates it better:

Here I’ve thrown several thousand of these objects into my world, and you can see that loads of them appear ‘through’ the apparently opaque plane.

This happens whether I use Instanced Static Meshes or Hierarchical Instanced static meshes (I’m creating all this with C++ btw, using essentially this method Instanced Static Mesh Not Appearing - Asset Creation - Unreal Engine Forums). The mesh is just a copy of the ‘Plane’ mesh from the example content, and the materials are just created using simple blueprints.

I’ve done this spawning them all as ‘full’ (not instanced) objects, and this problem does not appear.

This is expected limitation, since there the instances are unsorted.

Yes; I’ve realised this now. As I only actually need to soften the edges of my meshes, i’ve made the switch to Opacity Mask with a Dither Temporal AA to soften it.