UE4 sometimes won't recognize a mesh. Gamebreaking bug

Gamebreaking bug, please help.

I’m making a game with a building system. You build with various pieces, and the pieces look different depending on your race. To do this (picture attached), after placement, the code adds a static mesh component and then sets the static mesh from the blueprint of the piece, which contains soft object static mesh references to all racial pieces of that type.

The problem is: it stops working after I restart the engine. It only works after I mess around a bit by compiling some of the classes, resaving, reimporting, stuff like that.

As you can see (game picture), when it’s not working, it recognizes the pieces it wants to add, but then sees the static mesh as a blank empty space (I presume null reference). Why?

The node for “Add Static Mesh Component” says “DO NOT CALL MANUALLY - FOR BLUEPRINT INTERNAL USE ONLY”. Is this why? Or is it because I can’t use soft object references in this way (that’s the only way I can pull them from class defaults)?