Find all instances of "Missing Script"

Is there a method to list all instances of a 'Missing Script' after moving/deleting a file,

My experiment with junction and a common library of scripts seems to have failed, and left me with quite a mess to clean up!

1 Like

See the solution to your problem here:

https://web.archive.org/web/20130514114424/http://wiki.unity3d.com/index.php/FindMissingScripts

Updated Link:

https://web.archive.org/web/20130514114424/http://wiki.unity3d.com/index.php/FindMissingScripts

Not sure if I’m following. If you know the name of the script but don’t know which objects use it, you can create a script with that name and the following contents:

Note: this code is no C# but an obsolete (JS-like) Unity Script
function Start ()
{
    print("Script XYZ used by " + name);
}

I just read in another post (search “Mass Set Materials”) where the scripter used:

Undo.RegisterSceneUndo("Mass Set Materials");

This apparently allows you to Undo effect of your script.

Now, regarding you’re earlier problem, I too have had that problem, and don’t have a solution. I do think using this Undo method might help your experiments though. It is placed in the Start(), I recall.

Hope you find your answer - it will help a lot of us, I’m sure.

This is an old problem. I would start with the Component Copier in the Asset Store (a real bargain!), and see how it uses Reflection. The idea would be to look at what fields are on a script to try to match them up with existing scripts and see what fits best. But I don’t think you can get at those fields once the script has gone missing (even though they still show up in the Inspector UI. Those are in the library/cache and we don’t have (official anyway) API’s to get at that. But then, you might look into the meta files and see what might be useful there.

Find a referenced script gone missing due to delete/rename? Try this.

  1. Edit your asset/prefab file
  2. Search with the gameobject name to find an object with the field m_Name:
  3. Manually search down the immediately following entries to locate your component in the correct place in the list of components
  4. Copy the guid value
  5. In your bash or gitbash, run grep -r <paste guid here> Assets/ --include=*.meta

Will output the meta file of the referenced script. Voilá. If it outputs nothing, then I doubt that the script can be found cos the reference is with this guid only. In this case you need version control and to go back in history.

@system , the links posted here are not working anymore, could you please enter valid links?
Thanks you, Huxi