This is under 4.7.0 actual release, but I don’t think it’s a new bug.
I have a generic “item” BP which has several children BPs for different types of items, some of which are used differently. One of the child items now has two possible meshes for the same type of item, but the material used for one mesh keeps getting reset to the original material. I have tried two different methods, but I keep getting this material bug.
Originally, I had a child of the generic item BP (Cane), which has one material (call it X). I made a child of Cane (Staff), which has four materials, but the first material will always change back to X after I save & quit and reload the project. The mesh in the viewport is wrong, even if I explicitly change it. If I drag an instance of the Staff BP onto the scene, it has X as the first material – I can change the first material to something else, and it will run OK in the editor, but if I build it and run the app, or save & quit and reload, it changes back to X.
I also tried making the child of the generic item BP into (Cane_prototype) with NO mesh or materials, and making both Cane and Staff children of Cane_prototype, but I get the same bug (which appears to be from old/garbage data, since Staff is no longer a direct descendant of any BP with material X – Cane, which has material X, is now a sibling).
Here is a screenshot showing the viewport mismatch: