Building my app breaks a prefab reference??

I run my game in Unity editor and it works.
I build for Android and it doesn’t, with the game stalling as the first level opens.
I then run the game in the Editor and get the same stall at the same place. The error is a missing prefab instance - The variable FX_Damage spc_prefabLibrary has not been assigned.
Viewing in the inspector while running, the object is there in the variable.

I’m running 5.6.3. I don’t want to update Unity yet as I’m needing to roll out this build to my Early Access users ahead of an engine upgrade.

Anyone got any ideas??

Edit: If I click Build and Run without adding my signing key, the build process doesn’t even run but the prefab reference gets lost.

Okay, solved. There was a rogue copy of the same script attached to the menu camera. The odd thing is Unity’s order of calling scripts changing from calling my DataCache object first to calling this camera first. I managed to track the problem down by first putting a Print in the Awake of the spc_prefabLibrary script to see when it was being called, and then adding a static int Count and recording how many times it was being called, which showed twice. Somewhere in my restructuring a script got substituted or something.