Made a video to a workaround.
Here is what’s happening:
Apex destruction looks at your mesh’s material order (you can see it in the Mesh Editor inside Unreal). And uses your FIRST material - as the one for the inner(destroyed) part!
For example, you have a single MESH, and it has a material order of the following: “Material_A”, then “Material_B”, OR, if there is only a single material slot - “Material_A”. THEN Apex will take the FIRST slot (“Material_A”), and use that as its source material for the inner(destroyed) part during Fracturing.
Now, let us assume, that you need Material_A to be the OUTSIDE, and Material_B - to be the INSIDE materials. Then, what you need to do, is to get your mesh’s material order to be the following:
-Material_B (your Inner material)
-Material_A (your Outer material)
You need TWO material slots! If your base mesh has only one material slot - then you need to set two. Find some random small polygon, and give it a second material. Or make a small single-Triangle mesh (it doesn’t have to be a cube) and merge it with your base mesh. Hide it inside your mesh or something, just make sure it has a different material.
Now, when you fracture your mesh, it will take your FIRST material (in our case Material_B) and assign in to the inner destroyed parts. It will keep the Material_A as a secondary(outer) material.
Also, make sure to delete any additional new blank material slots that the APEX plugin creates (save on drawcalls).
====================
Not sure how to change material order on you mesh?
Well, this is the tricky part! There are NO instruments inside UE4 to change material order. But, if you use Maya, here’s my method (also read if you don’t use Maya, there are important parts):
Have your mesh divided into two separate parts(meshes). Mesh with Material_A, and a mesh with Material_B. In maya, when you combine meshes into one, the resulting mesh will have its first material set to whichever mesh was selected FIRST.
So, you select the mesh with Material_B FIRST, then you select mesh with Material_A. Then use “Combine” command. After that (and this is IMPORTANT), you need to import this new single mesh CLEANLY. That is - don’t use Unreal’s “Reimport” feature. If you Reimport - material order will stay the same!!!
====================
Well, I hope this will help at least some1, as it took me half a day to figure this out…
Edit: I triple checked my solution, and it seems to be consistent. The only thing that is kinda questionable, is the fact, that Reimporting the mesh seems to work for me now (as in, it successfully changes material order). The destructible mesh, on the other hand, MUST be deleted and recreated from scratch…