I have a managed plugin that’s been working without issue until I updated to Unity 2020.2. Now, when my project builds for iOS/Android in Unity Cloud Build, the builds succeed, but there are a bunch of new warnings like
Script attached to 'object' in scene 'scene' is missing or no valid script is attached, and the builds crash at runtime on a device.
Following this post’s recommendations, I made a fresh clone of my project locally and the objects in question do show the usual missing component warnings. However, I am unable to select the correct script (a class from my managed plugin) in this fresh clone. The DLL is present in the project, but expanding it in Unity’s Project view, the class I need isn’t there. When I reimport that DLL, suddenly all the missing classes come back, and the components show up again on my objects. Unfortunately, nothing in my project changes when this happens; no scene or .meta files are updated, so I have no way of committing this seemingly fixed state to my repo for Cloud Build to see. And if I Reimport All, those script references are broken again.
I’ve tried deleting the Library folder manually, rebuilding the managed plugin, deleting its .meta file so Unity regenerates it, and deleting the entire DLL and adding it back in. Nothing is permanently fixing my project. What confuses me the most is that Reimport All is effectively “undoing” the reimport of my plugin. Its like Unity decides that a different “version” of the plugin is correct depending on what gets reimported. I would really appreciate some insight here. Thanks in advance!