Culling unseen faces of instanced static meshes? (Increasing performance for Minecraft like world)

So here I have some Minecraft like terrain I’ve generated using a simple blueprint script.
It uses instanced static meshes to generate the terrain.

Now the problem with instanced static meshes is that it doesn’t cull any of the instance cube faces you can’t see, meaning it just renders all sides of every cube when in your FOV.
This is pretty bad for performance and I need a way to only render the cube faces I can see.

So how do I do this?