{"id":18498940,"url":"https://github.com/instance-id/aboveaverageinspector","last_synced_at":"2025-07-04T08:06:23.438Z","repository":{"id":98392257,"uuid":"300443295","full_name":"instance-id/AboveAverageInspector","owner":"instance-id","description":"A custom inspector drawer, because I wanted something I could organize into groups","archived":false,"fork":false,"pushed_at":"2020-11-23T06:13:39.000Z","size":1283,"stargazers_count":10,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-26T21:04:15.995Z","etag":null,"topics":["unity","unity-editor","unity3d","unity3d-plugin"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/instance-id.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-01T22:43:46.000Z","updated_at":"2023-06-19T14:29:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"3757b6ec-20e4-4fef-80ed-77eb5b154c44","html_url":"https://github.com/instance-id/AboveAverageInspector","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/instance-id/AboveAverageInspector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/instance-id%2FAboveAverageInspector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/instance-id%2FAboveAverageInspector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/instance-id%2FAboveAverageInspector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/instance-id%2FAboveAverageInspector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/instance-id","download_url":"https://codeload.github.com/instance-id/AboveAverageInspector/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/instance-id%2FAboveAverageInspector/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263472277,"owners_count":23471812,"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","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":["unity","unity-editor","unity3d","unity3d-plugin"],"created_at":"2024-11-06T13:43:02.717Z","updated_at":"2025-07-04T08:06:23.414Z","avatar_url":"https://github.com/instance-id.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AboveAverageInspector\nA custom inspector drawer written using UIElements / UI Toolkit, because I wanted something I could organize into groups\n\n### NOTE : Above-Average Inspector is a work in progress! \n\nWhile the majority of the functionality is present, there most assuredly are still bugs.  \n(Known-Issue: Currently, the List items [ + ] Add and [ - ] Remove buttons are not working properly)\n\n| With Above-Average Inspector           | Original Inspector                     |\n| -------------------------------------- | -------------------------------------- |\n| ![](https://i.imgur.com/8U6SGr9.png?1) | ![](https://i.imgur.com/aQz7LIb.png?1) |\n\n### Categorize your fields\nUse the ```[UICategory(name:\"\", order:0, expand:true)]``` attribute to draw your field in a category, order the categories, and decide if you want the category expanded by default.   \n![](https://i.imgur.com/x3DCj9e.png?1)\n\nUncategorized fields are automatically placed in a \"Default\" category.\n\n![](https://i.imgur.com/E0amcGN.png)\n\n\n## Animated Foldouts\n![media/animateddemo.gif](media/animateddemo.gif)\n\n\n## Compatibility with other Inspector modifications (Odin Inspector, possibly others, etc)\nOdin Inspector injects it's drawers into default Unity inspectors. Above-Average Inspector is not forceful about it. As such, once Odin Inspector is added to a project it's drawers overtake as the default inspector drawer. \n\nIf you would like AAI to still draw it's inspector changes, for whatever MonoBehaviours or ScriptableObjects you would like to use AAI you can create a simple CustomEditor for that object deriving from the AAIDefaultEditor and place it into any 'Editor' folder.\n\nUsing the included ExampleComponent in this project, if you would like to use AAI's drawer over Odin, follow these steps:\n\n```\nNOTE:\n I could make this a selectable and automated process with code generation. \n \n I am interested to hear if anyone would like this or if just creating them manually \n and having the control is preferred.)\n```\n\n1. In the 'Assets' folder of your project, create a new folder called 'Editor'\n2. Within Assets/Editor, create a new script called \"ExampleComponentEditor\" \n3. Place the following code in the script):\n\n\nExample is located in: Assets/instance.id/Example/Scripts/Editor/ExampleComponentEditor.cs\n```cs\nusing UnityEditor;\n\nnamespace instance.id.AAI.Editors\n{\n    [CustomEditor(typeof(ExampleComponent))]\n    public class ExampleComponentEditor : AAIDefaultEditor { }\n}\n```\n\nif your script requires being in a custom namespace, change it appropriately, but then add the AAI/Editors namespaces as using statements as seen below:\n\n```cs\nusing instance.id.AAI.Editors;\nusing UnityEditor;\n\nnamespace YourCustom.Namespace\n{\n    [CustomEditor(typeof(ExampleComponent))]\n    public class ExampleComponentEditor : AAIDefaultEditor { }\n}\n```\n\nThis will produce the following result: \nThe ExampleComponent object (Left) will use AAI, the Example2Component will use Odin Inspector (Right)\n\n![](https://i.imgur.com/or9F7dA.png)\n\nTested with Odin Inspector 3.0.0.3 beta\n\n\n---\n![alt text](https://i.imgur.com/cg5ow2M.png \"instance.id\")\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finstance-id%2Faboveaverageinspector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finstance-id%2Faboveaverageinspector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finstance-id%2Faboveaverageinspector/lists"}