{"id":13783401,"url":"https://github.com/Naraenda/NarasUnityTools","last_synced_at":"2025-05-11T19:30:46.794Z","repository":{"id":152222450,"uuid":"314908888","full_name":"Naraenda/NarasUnityTools","owner":"Naraenda","description":"Random tools for Unity to aid in avatar optimization and creation for VRChat.","archived":true,"fork":false,"pushed_at":"2023-11-15T16:34:20.000Z","size":20010,"stargazers_count":61,"open_issues_count":0,"forks_count":1,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-01-19T05:34:46.299Z","etag":null,"topics":["unity","vrchat"],"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/Naraenda.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}},"created_at":"2020-11-21T21:44:31.000Z","updated_at":"2023-11-15T16:34:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"a2cf5e1e-5b0c-4d85-9873-7b4810af6251","html_url":"https://github.com/Naraenda/NarasUnityTools","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Naraenda%2FNarasUnityTools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Naraenda%2FNarasUnityTools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Naraenda%2FNarasUnityTools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Naraenda%2FNarasUnityTools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Naraenda","download_url":"https://codeload.github.com/Naraenda/NarasUnityTools/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253620944,"owners_count":21937446,"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","vrchat"],"created_at":"2024-08-03T19:00:20.635Z","updated_at":"2025-05-11T19:30:44.897Z","avatar_url":"https://github.com/Naraenda.png","language":"C#","funding_links":[],"categories":["Tutorials"],"sub_categories":["Tools"],"readme":"# Nara's Unity Tools (NUT)\n\n\u003e [!CAUTION]\n\u003e\n\u003e This package is no longer maintained and thus archived.\n\u003e A lot of the features are superseded by other tools and I don't have the time to add new things.\n\u003e Thank you all who used Nara's Unity Tools! :heart:\n\u003e\n\u003e If you're looking for something similar, check out these alternatives:\n\u003e\n\u003e - PhysBones deprecated the use of the rotation constraint hack.\n\u003e   The performance of constraints also [does not scale well](https://notes.sleightly.dev/benchmarks/).\n\u003e - Animator Tools can be replaced by [Dreadrith's Controller Editor](https://www.dreadrith.com/l/CEditor)\n\u003e - Hierarchy Improvements can be replaced by [Drearith's Selection Helper](https://github.com/Dreadrith/SelectionHelper)\n\n---\n\nPlace for some of the tools I wrote for Unity.\nSpecifically for the creation of avatars for VRChat.\n\n## Installation\n\nInstallation of Nara's Unity Tools is done via the Unity Package Manager.\n\n### OpenUPM Method\n\n1. In Unity on the top toolbar, go to `Edit \u003e Project Settings \u003e Package Manager`.\n2. Add a new Scoped Registry (or edit the existing OpenUPM entry)\n```txt\nName        package.openupm.com\nURL         https://package.openupm.com\nScope(s)    com.naraenda.nut\n```\n3. Click Save (or Apply)\n4. Open `Window \u003e Package Manager`\n5. Next to the `+` icon, select `My Registries`\n6. Select `Nara's Unity Tools` and click install on the bottom right.\n\n### Git Method\n\nMake sure [Git](https://git-scm.com/) is installed!\n\n1. In Unity on the top toolbar, go to `Window \u003e Package Manager`.\n2. Click the `+` icon and select `Add package from Git URL`.\n3. Enter the Git URL of this repository `https://github.com/Naraenda/NarasUnityTools.git`.\n\n## Hierarchy improvements \u0026 context menus\n\nGives a small icon in the hierarchy on game objects that contain dynamic bones (white/gray) or dynamic bone colliders (blue).\n\n![Screenshot of the hierarchy](.Media/hierarchy_screenshot.png)\n\nAlso adds a few other context menu items.\nMainly oriented around selecting and setting up dynamic bones.\nYou can right-click in the hierarchy to quickly select and filter down to dynamic bone components, so you can easily edit multiple items.\nRight-clicking a dynamic bone component also allows you to quickly set its root transform to the component's game object.\n\n![Demo of the right menu contexts](.Media/context_demo.gif)\n\n## Animator Tools\n\nTool that allows the editing of multiple transitions.\nThis includes conditions and transition timings. Find the window in `Window \u003e Nara \u003e Animator Tools`.\n\n![Screenshot of AT](.Media/at_screenshot.png)\n\n## Chain Rotation Proxy (formerly Dynamic Bone Constraints)\n\n[**\u003e\u003e\u003e Tutorial \u003c\u003c\u003c**](crp_tutorial.md)\n\nInstead of having 50 dynamic bone transformations hogging up the whole main thread it's better to have just a single chain of dynamic bones and have all other bones be move similarly to the single chain.\nThis can be done via rotation constraints which are significantly cheaper to compute, and they also can be computed on other threads!\n\n![Screenshot of CRP](.Media/crp_screenshot.png)\n\nThe tool is pretty simple to use.\nOpen the window in `Window \u003e Nara \u003e DChain Rotation Proxy`.\nSelect the objects you want to constrain and click the `From selection` button.\nIf you already have a chain of bones you want to bind these objects to, then use that as the `Constraint source root`.\n`Modify source constraint` will modify (and if needed add) children of the root.\nIn most cases you can leave the `Constraint source root` empty and just click the magical `Setup constraints` button.\n[You can have your PhysBones on your avatar even more optimized in 30 seconds!](https://youtu.be/byvG2FgJEhU)\n\n## Help Me, I'm Stuck\n\nFor small questions you can tag me (Nara#0001) in the official VRChat Discord or [join my Discord](https://discord.gg/ysSpNX3HSz).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNaraenda%2FNarasUnityTools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FNaraenda%2FNarasUnityTools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNaraenda%2FNarasUnityTools/lists"}