Why does "Missing (Mono Script)" keep happening?

I don't think I'm crazy. I could be. But at least I don't think so.

So why do I keep losing my script connections? I see "Missing (Mono Script)" more times than I see my game running. When I am on the same computer there is no problem.

When I move to my laptop I lose the script connections. I copy & paste the folders entirely - and I still lose the connections!

What am I doing wrong? Is there a "stupid" option that I have set?

There's a lot of meta data that gets hooked up that isn't really obvious what's going on. The best way to go from computer to computer is to copy the entire folder structure (library + assets).

If you just need to update a few things, another thing you can do is export whatever you updated as a unity package. Make sure the dependencies are selected. That way when you reimport that package everything will be hooked up.

Unfortunately unless you're using pro this is going to happen pretty much no matter what (as far as I know).

If you are using pro you can enable external source control (I believe it's under Edit->project settings->editor, can't remember offhand and not at a computer) then it works as you'd expect.

As far as I know there's no way aroundthis without buying pro (in fact, I think it's a pro feature so...)

EDIT: Just checked and external source control is pro only. Added link above.

I created a tool called “Missing script resolver” inside the project Giacomelli.Unity.EditorToolbox.

The tool was created to try to solve this problem. It searchs for prefabs with “missing scripts” problem and fix them.

More details in this post: Fixing “Missing (Mono Script)”.