{"id":13664184,"url":"https://github.com/mob-sakai/UnityEventDrawerEx","last_synced_at":"2025-04-25T21:30:25.019Z","repository":{"id":47561614,"uuid":"135915917","full_name":"mob-sakai/UnityEventDrawerEx","owner":"mob-sakai","description":"This plugin extends the UnityEventDrawer to display runtime calls in the inspector.","archived":false,"fork":false,"pushed_at":"2024-07-22T03:33:28.000Z","size":122,"stargazers_count":94,"open_issues_count":0,"forks_count":12,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-10-30T00:04:19.617Z","etag":null,"topics":["editor-extension","extensions","inspector","unity","unity-editor","unity3d"],"latest_commit_sha":null,"homepage":null,"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/mob-sakai.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","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},"funding":{"github":"mob-sakai","patreon":"mob_sakai","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2018-06-03T15:23:56.000Z","updated_at":"2024-07-31T18:38:21.000Z","dependencies_parsed_at":"2024-01-17T05:12:53.446Z","dependency_job_id":"2a41a724-d9a6-4f92-8574-934cd4bab137","html_url":"https://github.com/mob-sakai/UnityEventDrawerEx","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mob-sakai%2FUnityEventDrawerEx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mob-sakai%2FUnityEventDrawerEx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mob-sakai%2FUnityEventDrawerEx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mob-sakai%2FUnityEventDrawerEx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mob-sakai","download_url":"https://codeload.github.com/mob-sakai/UnityEventDrawerEx/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224018287,"owners_count":17242039,"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":["editor-extension","extensions","inspector","unity","unity-editor","unity3d"],"created_at":"2024-08-02T05:02:48.867Z","updated_at":"2025-04-25T21:30:25.013Z","avatar_url":"https://github.com/mob-sakai.png","language":"C#","readme":"# Unity Event Drawer Extension \u003c!-- omit in toc --\u003e\n\n[![](https://img.shields.io/npm/v/com.coffee.event-drawer-ex?label=openupm\u0026registry_uri=https://package.openupm.com)](https://openupm.com/packages/com.coffee.event-drawer-ex/)\n[![](https://img.shields.io/github/v/release/mob-sakai/UnityEventDrawerEx?include_prereleases)](https://github.com/mob-sakai/UnityEventDrawerEx/releases)\n[![](https://img.shields.io/github/release-date/mob-sakai/UnityEventDrawerEx.svg)](https://github.com/mob-sakai/UnityEventDrawerEx/releases)  \n![](https://img.shields.io/badge/Unity-2018.4+-57b9d3.svg?style=flat\u0026logo=unity)\n[![](https://img.shields.io/github/license/mob-sakai/UnityEventDrawerEx.svg)](https://github.com/mob-sakai/UnityEventDrawerEx/blob/main/LICENSE.txt)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-orange.svg)](http://makeapullrequest.com)\n[![](https://img.shields.io/github/watchers/mob-sakai/UnityEventDrawerEx.svg?style=social\u0026label=Watch)](https://github.com/mob-sakai/UnityEventDrawerEx/subscription)\n[![](https://img.shields.io/twitter/follow/mob_sakai.svg?label=Follow\u0026style=social)](https://twitter.com/intent/follow?screen_name=mob_sakai)\n\n\u003c\u003c [📝 Description](#-description-) | [📌 Key Features](#-key-features) | [⚙ Installation](#-installation) | [🚀 Getting Started](#-getting-started) | [🤝 Contributing](#-contributing) \u003e\u003e\n\n## 📝 Description \u003c!-- omit in toc --\u003e\n\n![image](https://user-images.githubusercontent.com/12690315/40921624-f43811b6-684a-11e8-96e4-83964730a358.png)\n\nThis package extends the `UnityEventDrawer` to display runtime calls in the inspector.\n\n### What is \"runtime calls\"?\n\n*Button.onClick* and *Toggle.OnChangeValue* etc. are known as [UnityEvent](https://docs.unity3d.com/ScriptReference/Events.UnityEvent.html).  \nUnityEvent has two types of callbacks:\n\n* Persistent call\n  * You can add callbacks from the inspector.\n  * You can add callbacks from a script using *UnityEventTools.AddPersistentListener*.\n  * It will be serialized and displayed in the inspector.  \n    ![persistent](https://user-images.githubusercontent.com/12690315/40887795-f5eb7ac4-6788-11e8-9e73-6831e3eab08f.png)\n* **Runtime call**\n  * You can add a callback from a script with *UnityEvent.AddListener*.\n  * It will be **not** serialized and displayed in the inspector.\n    ![runtime](https://user-images.githubusercontent.com/12690315/40887784-c8c2027a-6788-11e8-83f7-07e38e187cba.png)\n\n### Display your runtime calls\n\nThis package extends *UnityEventDrawer* to display runtime calls in the inspector.  \nIf the runtime call is an instance method, its target is also displayed.  \nThis plugin supports all events that inherit `UnityEvent\u003cT0\u003e - UnityEvent\u003cT0, T1, T2, T3\u003e` as well as *UnityEvent*.  \nEven if the persistent call is empty, *UnityEvent* is displayed compactly in the inspector.\n\n```cs\npublic class TestBehavior : MonoBehaviour\n{\n\t[System.Serializable] public class TransformUnityEvent : UnityEngine.Events.UnityEvent\u003cTransform\u003e{};\n\n\t[SerializeField] TransformUnityEvent onYourCustomEvent = new TransformUnityEvent();\n\t\n\tvoid OnEnable()\n\t{\n\t\tonYourCustomEvent.AddListener(TestTransform);\n\t}\n\t\n\tvoid TestTransform(Transform t)\n\t{\n\t\tDebug.Log(\"TestTransform has called : \" + t);\n\t}\n}\n```\n![image](https://user-images.githubusercontent.com/12690315/40887986-d0c2af58-678b-11e8-953c-63116ab2b433.png)\n\nIf you like a style of development that makes heavy use of runtime calls (MVP pattern, etc.), this package is for you!\n\n\u003cbr\u003e\u003cbr\u003e\n\n- [📌 Key Features](#-key-features)\n- [⚙ Installation](#-installation)\n  - [Install via OpenUPM](#install-via-openupm)\n  - [Install via UPM (with Package Manager UI)](#install-via-upm-with-package-manager-ui)\n  - [Install via UPM (Manually)](#install-via-upm-manually)\n  - [Install as Embedded Package](#install-as-embedded-package)\n- [🚀 Getting Started](#-getting-started)\n- [🤝 Contributing](#-contributing)\n  - [Issues](#issues)\n  - [Pull Requests](#pull-requests)\n  - [Support](#support)\n- [License](#license)\n- [Author](#author)\n- [See Also](#see-also)\n\n\u003cbr\u003e\u003cbr\u003e\n\n## 📌 Key Features\n\n* Displays runtime calls in inspector\n* Expands/collapses the runtime call view\n* Displays instance method, its target is also displayed\n* If the persistent call is empty, displays it compactly\n* Supports dark skin\n* Supports all components as well as uGUI components like `Button` and `Toggle`  \n  ![](https://user-images.githubusercontent.com/12690315/40947741-55bcb0be-689f-11e8-9d86-6d0364ebd155.png)\n* Supports `EventTrigger`  \n  ![](https://user-images.githubusercontent.com/12690315/41216786-c12a1c10-6d90-11e8-8a13-00e5b27de573.png)\n\n\u003cbr\u003e\u003cbr\u003e\n\n## ⚙ Installation\n\n### Install via OpenUPM\n\n- This package is available on [OpenUPM](https://openupm.com) package registry.\n- This is the preferred method of installation, as you can easily receive updates as they're released.\n- If you have [openupm-cli](https://github.com/openupm/openupm-cli) installed, then run the following command in your project's directory:\n  ```\n  openupm add com.coffee.event-drawer-ex\n  ```\n- To update the package, use Package Manager UI (`Window \u003e Package Manager`) or run the following command with `@{version}`:\n  ```\n  openupm add com.coffee.event-drawer-ex@1.1.0\n  ```\n\n### Install via UPM (with Package Manager UI)\n\n- Click `Window \u003e Package Manager` to open Package Manager UI.\n- Click `+ \u003e Add package from git URL...` and input the repository URL: `https://github.com/mob-sakai/UnityEventDrawerEx.git`  \n  ![](https://github.com/user-attachments/assets/f88f47ad-c606-44bd-9e86-ee3f72eac548)\n- To update the package, change suffix `#{version}` to the target version.\n  - e.g. `https://github.com/mob-sakai/UnityEventDrawerEx.git#1.1.0`\n\n### Install via UPM (Manually)\n\n- Open the `Packages/manifest.json` file in your project. Then add this package somewhere in the `dependencies` block:\n  ```json\n  {\n    \"dependencies\": {\n      \"com.coffee.event-drawer-ex\": \"https://github.com/mob-sakai/UnityEventDrawerEx.git\",\n      ...\n    }\n  }\n  ```\n\n- To update the package, change suffix `#{version}` to the target version.\n  - e.g. `\"com.coffee.event-drawer-ex\": \"https://github.com/mob-sakai/UnityEventDrawerEx.git#1.1.0\",`\n\n### Install as Embedded Package\n\n1. Download a source code zip file from [Releases](https://github.com/mob-sakai/UnityEventDrawerEx/releases) and extract it.\n2. Place it in your project's `Packages` directory.  \n   ![](https://github.com/user-attachments/assets/af639cfa-d0b4-4370-acb9-3fe4db451f47)\n- If you want to fix bugs or add features, install it as an embedded package.\n- To update the package, you need to re-download it and replace the contents.\n\n\u003cbr\u003e\u003cbr\u003e\n\n## 🚀 Getting Started\n\n1. [Install the package](#-installation).\n\n2. Add a runtime call, such as `Button.onClick.AddListener (method)`.\n\n3. Information about the runtime call is displayed in the inspector.  \n   ![image](https://user-images.githubusercontent.com/12690315/40921624-f43811b6-684a-11e8-96e4-83964730a358.png)\n\n4. Enjoy!\n\n\u003cbr\u003e\u003cbr\u003e\n\n## 🤝 Contributing\n\n### Issues\n\nIssues are incredibly valuable to this project:\n\n- Ideas provide a valuable source of contributions that others can make.\n- Problems help identify areas where this project needs improvement.\n- Questions indicate where contributors can enhance the user experience.\n\n### Pull Requests\n\nPull requests offer a fantastic way to contribute your ideas to this repository.  \nPlease refer to [CONTRIBUTING.md](https://github.com/mob-sakai/UnityEventDrawerEx/tree/main/CONTRIBUTING.md)\nand [develop branch](https://github.com/mob-sakai/UnityEventDrawerEx/tree/develop) for guidelines.\n\n### Support\n\nThis is an open-source project developed during my spare time.  \nIf you appreciate it, consider supporting me.  \nYour support allows me to dedicate more time to development. 😊\n\n[![](https://user-images.githubusercontent.com/12690315/50731629-3b18b480-11ad-11e9-8fad-4b13f27969c1.png)](https://www.patreon.com/join/2343451?)  \n[![](https://user-images.githubusercontent.com/12690315/66942881-03686280-f085-11e9-9586-fc0b6011029f.png)](https://github.com/users/mob-sakai/sponsorship)\n\n\u003cbr\u003e\u003cbr\u003e\n\n## License\n\n* MIT\n\n## Author\n\n* ![](https://user-images.githubusercontent.com/12690315/96986908-434a0b80-155d-11eb-8275-85138ab90afa.png) [mob-sakai](https://github.com/mob-sakai) [![](https://img.shields.io/twitter/follow/mob_sakai.svg?label=Follow\u0026style=social)](https://twitter.com/intent/follow?screen_name=mob_sakai) ![GitHub followers](https://img.shields.io/github/followers/mob-sakai?style=social)\n\n## See Also\n\n* GitHub page : https://github.com/mob-sakai/UnityEventDrawerEx\n* Releases : https://github.com/mob-sakai/UnityEventDrawerEx/releases\n* Issue tracker : https://github.com/mob-sakai/UnityEventDrawerEx/issues\n* Change log : https://github.com/mob-sakai/UnityEventDrawerEx/blob/main/CHANGELOG.md\n","funding_links":["https://github.com/sponsors/mob-sakai","https://patreon.com/mob_sakai","https://www.patreon.com/join/2343451?"],"categories":["C\\#","Inspector"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmob-sakai%2FUnityEventDrawerEx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmob-sakai%2FUnityEventDrawerEx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmob-sakai%2FUnityEventDrawerEx/lists"}