Steps:
- Setup a nested child prefab sequence like this:
Parent [SomeMonobehaviour]
NestedPrefabChild [More prefab and objects, edit properties of SomeMonobehaviour] - Create a scriptable object with a reference to SomeMonobehaviour of the child.
- Open the child, make a bunch of changes. Save.
- Open the parent, make some changed to SomeMonobehaviour
- Save.
- —> references to SomeMonobehaviour (child) as assigned in the scriptable object are now broken.
Why was this being done? There is a common root monobehaviour in these prefabs which is used to instantiate the prefab with certain network sync settings when the prefab is created. Saving and tweaking these on the scriptable object was a major headache, so the scriptable object was reduced into a simple link to the prefab that could be easily scraped and cached.