{"id":16210907,"url":"https://github.com/solidalloy/missingscripttype","last_synced_at":"2025-08-29T09:20:43.900Z","repository":{"id":59977289,"uuid":"458349942","full_name":"SolidAlloy/MissingScriptType","owner":"SolidAlloy","description":"Find missing scripts more easily","archived":false,"fork":false,"pushed_at":"2022-07-24T21:14:05.000Z","size":28,"stargazers_count":62,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-20T09:48:51.907Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SolidAlloy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-02-11T21:48:38.000Z","updated_at":"2025-07-01T06:58:31.000Z","dependencies_parsed_at":"2022-09-25T12:03:08.909Z","dependency_job_id":null,"html_url":"https://github.com/SolidAlloy/MissingScriptType","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/SolidAlloy/MissingScriptType","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SolidAlloy%2FMissingScriptType","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SolidAlloy%2FMissingScriptType/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SolidAlloy%2FMissingScriptType/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SolidAlloy%2FMissingScriptType/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SolidAlloy","download_url":"https://codeload.github.com/SolidAlloy/MissingScriptType/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SolidAlloy%2FMissingScriptType/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272659282,"owners_count":24971607,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-29T02:00:10.610Z","response_time":87,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T10:44:51.333Z","updated_at":"2025-08-29T09:20:43.870Z","avatar_url":"https://github.com/SolidAlloy.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MissingScriptType\nFind missing scripts in your components and ScriptableObjects more easily by knowing their type.\n\n[![openupm](https://img.shields.io/npm/v/com.solidalloy.missing-script-type?label=openupm\u0026registry_uri=https://package.openupm.com)](https://openupm.com/packages/com.solidalloy.missing-script-type/)\n\n## Installation\n\n### Install with OpenUPM\n\nOnce you have the [OpenUPM cli](https://github.com/openupm/openupm-cli#installation), run the following command:\n\n```openupm install com.solidalloy.missing-script-type```\n\nOr if you don't have it, add the scoped registry to manifest.json with the desired dependency semantic version: \n\n```json\n  \"scopedRegistries\": [\n    {\n      \"name\": \"package.openupm.com\",\n      \"url\": \"https://package.openupm.com\",\n      \"scopes\": [\n        \"com.solidalloy\",\n        \"com.openupm\"\n      ]\n    }\n  ],\n  \"dependencies\": {\n    \"com.solidalloy.missing-script-type\": \"1.0.1\"\n  },\n\n```\n\n### Install via Package Manager\n\nProject supports Unity Package Manager. To install the project as a Git package do the following:\n\n1. In Unity, open **Project Settings** -\u003e **Package Manager**.\n2. Add a new scoped registry with the following details:\n   - **Name**: package.openupm.com\n   - **URL**: https://package.openupm.com\n   - Scope(s):\n     - com.openupm\n     - com.solidalloy\n3. Hit **Apply**.\n4. Go to **Window** -\u003e **Package Manager**.\n5. Press the **+** button, *Add package from git URL*.\n6. Enter **com.solidalloy.missing-script-type**, press **Add**.\n\n## Quick Start\n\nWhen you stumble upon a MonoBehaviour or ScriptableObject with a missing script, it will now look like this:\n\n\u003cimg src=\".images/missing-script-ui.png\" alt=\"missing-script-ui\" style=\"zoom:67%;\" /\u003e\n\nYou will see the type name of the script that had been assigned to this object before it went missing. Note that it will only for the objects where the script had been lost before the package was installed. If the package is installed after the object missed its script, the type field will be empty.\n\nThe plugin also searches for a script that contains this type. If the script is found, it will appear on the next line, and you will be able to restore the object in one button press:\n\n\u003cimg src=\".images/missing-script-button.png\" alt=\"missing-script-button\" style=\"zoom:67%;\" /\u003e\n\n## Customization\n\nYou can customize how the type name is shown in **Project Settings/Packages/Missing Script Type**:\n\n![settings](.images/settings.png)\n\n**Short** - TestBehaviour\n\n**Full** (default) - DefaultNamespace.TestBehaviour\n\n**Full And Assembly** - DefaultNamespace.TestBehaviour, Assembly-CSharp\n\n## Integrations With Other Plugins\n\nThe plugin works with **Odin Inspector**. When the object script is loaded, you will see the normal Odin interface. When the script is missing, you will be able to see its type.\n\nThere is also integration with [GenericUnityObjects](https://github.com/SolidAlloy/GenericUnityObjects):\n\n\u003cimg src=\".images/generic-unity-objects.png\" alt=\"generic-unity-objects\" style=\"zoom:67%;\" /\u003e\n\n## Using In Custom Inspectors\n\nThe plugin works through the custom editor called `MissingScriptTypeEditor` which is enabled for all MonoBehaviours and ScriptableObjects that don't have their own custom editor.\n\nIf you have a custom editor in which you want to implement the \"Last Known Type\" feature, you can inherit from `MissingScriptTypeEditor`:\n\n```csharp\n[CustomEditor(typeof(MyClass))]\npublic class MyCustomEditor : MissingScriptTypeEditor\n{\n    protected override OnEnable()\n    {\n        base.OnEnable();\n        // your custom enable code\n    }\n    \n    public override void OnInspectorGUI()\n    {\n        if (_missingScriptUtility.IsScriptLoaded())\n        {\n            // your custom inspector UI\n        }\n        else\n        {\n            _missingScriptUtility.Draw();\n        }\n    }\n}\n```\n\nOr use `MissingScriptTypeUtility`:\n\n```csharp\n[CustomEditor(typeof(MyClass))]\npublic class MyCustomEditor : Editor\n{\n    private MissingScriptTypeUtility _missingScriptUtility;\n    \n    protected override OnEnable()\n    {\n        _missingScriptUtility = new MissingScriptTypeUtility(serializedObject);\n    }\n    \n    public override void OnInspectorGUI()\n    {\n        if (_missingScriptUtility.IsScriptLoaded())\n        {\n            // your custom inspector UI\n        }\n        else\n        {\n            _missingScriptUtility.Draw();\n        }\n    }\n}\n```\n\nIf you have another custom editor that you want to use on general MonoBehaviours and ScriptableObjects, you can disable `MissingScriptTypeEditor` by adding `DISABLE_MISSING_SCRIPT_EDITOR` to **Player/Scripting Define Symbols**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolidalloy%2Fmissingscripttype","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsolidalloy%2Fmissingscripttype","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolidalloy%2Fmissingscripttype/lists"}