There is another underlying problem with all them cubes, is that they will run your draw call budged through the roof. So, you need to merge the cubes into a fewer mesh items. Maybe using an Octree so that you can spatially sort the cubes and pick a minimum amount of cubes that are being processed as an editable area.
Then I am going to add some non-cube shapes to make gradients between the cubes.
Integrate those two features and get onto the export of shapes 🙂