{"id":18238511,"url":"https://github.com/nenniana/unity-inspector-enhancements","last_synced_at":"2026-02-02T10:38:31.906Z","repository":{"id":259491303,"uuid":"873564295","full_name":"Nenniana/Unity-Inspector-Enhancements","owner":"Nenniana","description":"Inspector Enhancements is a small Unity package offering custom drawers and property attributes (Hide-/ShowIf, HideLabel, Required and InlineProperty, with more on the way) to enhance the Unity Inspector experience.","archived":false,"fork":false,"pushed_at":"2024-12-13T15:09:55.000Z","size":1144,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2024-12-22T05:42:10.767Z","etag":null,"topics":["game-development","inspector-unity3d","unity","unity-inspector","unity-tool"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Nenniana.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":"2024-10-16T11:33:14.000Z","updated_at":"2024-12-17T09:13:36.000Z","dependencies_parsed_at":"2024-10-26T00:19:05.600Z","dependency_job_id":"acc6dc9a-ce89-4236-8d7c-e31e2d08c499","html_url":"https://github.com/Nenniana/Unity-Inspector-Enhancements","commit_stats":null,"previous_names":["nenniana/unity-inspector-enhancements"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nenniana%2FUnity-Inspector-Enhancements","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nenniana%2FUnity-Inspector-Enhancements/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nenniana%2FUnity-Inspector-Enhancements/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nenniana%2FUnity-Inspector-Enhancements/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nenniana","download_url":"https://codeload.github.com/Nenniana/Unity-Inspector-Enhancements/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238840655,"owners_count":19539593,"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":["game-development","inspector-unity3d","unity","unity-inspector","unity-tool"],"created_at":"2024-11-05T03:05:54.129Z","updated_at":"2025-10-29T14:31:05.532Z","avatar_url":"https://github.com/Nenniana.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Unity Inspector Enhancements\n\nInspector Enhancements is a Unity package offering custom drawers and property attributes to enhance the Unity Inspector experience. This collection of utility attributes improves data visualization, organization, and validation in the editor.\n\n## Wiki\nPlease visit the [Wiki](https://github.com/Nenniana/Unity-Inspector-Enhancements/wiki) for information on installation and usage.\n\n## Features\n\n### **Method Button Attribute**\nThe `[MethodButton]` attribute enables direct method invocation from the Unity Inspector, working seamlessly with both parameterless methods and methods that require parameters.\n\n   - **Capabilities**:\n     - Functions with methods regardless of whether they have parameters or not, requiring no additional setup.\n     - Displays default values in the Inspector for parameters specified in the attribute or defined as default values in the method itself.\n     - Supports referencing other serialized fields as parameters by specifying their names.\n     - Compatible with primitive types, Unity native types (e.g., `Vector3`, `GameObject`), and custom serializable classes/structs.\n\n### **Collection Dropdown Attribute**\nThe `[CollectionDropdown]` attribute displays a dropdown for selecting items within a collection directly in the Inspector. Compatible with standard collections such as arrays and lists, this feature enhances Inspector usability by allowing streamlined access to collection elements.\n\n   - **Capabilities**:\n     - Provides a dropdown selection for array, list, and similar collection fields, offering an organized and user-friendly way to view and choose items.\n     - Supports any collection type that implements `IEnumerable`, making it flexible for various use cases in the Inspector.\n\n### **HideIf / ShowIf Attributes**\nThe `[HideIf]` and `[ShowIf]` attributes allow conditional visibility of specific fields in the Inspector. They can be configured to dynamically hide or display fields based on certain conditions, enhancing data organization and readability.\n\n   - **Capabilities**:\n     - Supports `bool` fields and methods that return `bool` values.\n     - Accepts parameters if a method is provided, enabling custom logic.\n     - Can operate without parameters, hiding or showing based on the field’s null status.\n\n   - **Limitations**: Not compatible with custom structs or classes; supports Unity native objects and primitive types.\n\n### **HideLabel Attribute**\nThe `[HideLabel]` attribute simply hides the label of a field in the Inspector. This is useful for a cleaner display, removing labels where they aren’t necessary and simplifying the user interface.\n\n   - **Capabilities**: Provides a cleaner look by removing labels where they aren’t needed, which can simplify the interface.\n\n### **Inline Property Attribute**\nThe `[InlineProperty]` attribute inlines a serializable class or struct, displaying it directly within the Inspector. This attribute is particularly useful for visualizing nested data structures, like other classes within a `MonoBehaviour`, and allows for flexible customization.\n\n   - **Capabilities**:\n     - Inlines a custom class or struct as a field, showing each associated field directly.\n     - Allows for custom naming, with optional name prefixing for each field in the inline class.\n     - Supports customization of both the class setup and individual field display, ideal for organizing nested data within `MonoBehaviour` scripts.\n\n### **Required Attribute**\nThe `[Required]` attribute ensures that a field cannot be left as `null`, helping to prevent common runtime errors by flagging fields that require a value assignment.\n\n   - **Capabilities**: Enforces that an object or field must be assigned by displaying a warning if left unfilled.\n\nHere's the **Upcoming Features** section updated to display the new attributes in the same manner as the previous ones:\n\n## Upcoming Features\n\n### **ShowInInspector Attribute**\nThe `[ShowInInspector]` attribute allows non-serialized properties to be displayed and edited directly within the Inspector. This feature is useful for exposing calculated or dynamically generated properties while still maintaining editable fields in the editor.\n\n   - **Capabilities**:\n     - Displays non-serialized properties directly in the Inspector.\n     - Allows property editing, updating the backing serialized field if one is referenced, enabling dynamic data management within the editor.\n\n### **InterfaceImplementation Attribute**\nThe `[InterfaceImplementation]` attribute displays interface fields in the Inspector, enabling users to select from a list of eligible implementations. This makes it easier to assign specific implementations to an interface directly in the Unity editor.\n\n   - **Capabilities**:\n     - Shows eligible implementations of an interface in a dropdown list within the Inspector.\n     - Only non-abstract classes with a default constructor are selectable, excluding `MonoBehaviour` types and abstract classes.\n     - Simplifies assigning specific implementations to interfaces directly within Unity’s Inspector.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnenniana%2Funity-inspector-enhancements","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnenniana%2Funity-inspector-enhancements","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnenniana%2Funity-inspector-enhancements/lists"}