GPU’s are not very efficient to render instanced meshes that have very low poly count. So even if you would have super clever automatic instancing system(which ue4 doesn’t.) You would have big overhead with all those lego bricks. You can see how bad instancing is with two triangle models here. Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Also occlusion culling does not help much with this kind of geometry. You have almost as big performance cost per block than by just rendering it.
Maybe you just could use 3d Max tools to remove all unvisible triangles and batch all those blocks as single StaticMesh. This would be much less work for you.