SInce 4.11 I am noticing this bug where , for cases like lighting rebuild , blueprint recompiling or level restarting , any meshes generated as a part of child actor blurprint disappears from all instances of the parent blueprint placed in that level. For example , if I create a house blueprint , having doors as child blueprints , and then i restart level or build lighting , the doors disappear , if i modify parameters in the parent blueprint instance , it reappears again. i will show you Video Demonstration.
I was able to reproduce in a clean project , but now I have the exact clarity about the issue and the steps to reproduce are as below :
1> create a parent blueprint derived from actor , BP_Parent , add a static mesh in the BP and assign a Cube mesh to it.
2>Create another BP , also from actor , BP_Child , don’t add any mesh here directly.
3>Create a function , say Construct , in BP_Child , and add the static mesh component node here , assign the cylinder mesh or any other meshes you like.
4>Go to BP_Parent , and in the construction script , add a child actor , get the child actor component , cast it to BP_Child , and call the function Construct.
5>Compile , and put an instance of BP_Parent into the level. You see both the cube and the cylinder in that BP showing up. Good
6>Now , either build lighting or restart level. There you see , the cylinder disappears from the instance of the BP you placed in your level. Now you can change the Transform of the BP instance or tweak any of its parameters and you see the cylinder back.
I have been able to reproduce this issue following the steps that you have provided. After some additional testing, this issue appears to be fixed in our internal version, and the fix will be available in a later release. For now, just moving the transform or tweaking values seems to be a viable workaround.