{"id":26483946,"url":"https://github.com/vrlabs/selective-animation","last_synced_at":"2025-03-20T04:59:14.135Z","repository":{"id":224620726,"uuid":"690222666","full_name":"VRLabs/Selective-Animation","owner":"VRLabs","description":"System for playing animations for only a single player in an instance","archived":false,"fork":false,"pushed_at":"2024-12-02T20:34:09.000Z","size":19145,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-12-02T21:30:31.705Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VRLabs.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":"2023-09-11T19:18:15.000Z","updated_at":"2024-09-01T13:04:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"bf6d46f5-29f6-4404-93e3-fd9f9061aa6b","html_url":"https://github.com/VRLabs/Selective-Animation","commit_stats":null,"previous_names":["vrlabs/selective-animation"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VRLabs%2FSelective-Animation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VRLabs%2FSelective-Animation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VRLabs%2FSelective-Animation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VRLabs%2FSelective-Animation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VRLabs","download_url":"https://codeload.github.com/VRLabs/Selective-Animation/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244554067,"owners_count":20471173,"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":[],"created_at":"2025-03-20T04:59:13.537Z","updated_at":"2025-03-20T04:59:14.124Z","avatar_url":"https://github.com/VRLabs.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# Selective Animation\n\n[![Generic badge](https://img.shields.io/github/downloads/VRLabs/Selective-Animation/total?label=Downloads)](https://github.com/VRLabs/Selective-Animation/releases/latest)\n[![Generic badge](https://img.shields.io/badge/License-MIT-informational.svg)](https://github.com/VRLabs/Selective-Animation/blob/main/LICENSE)\n[![Generic badge](https://img.shields.io/badge/Quest-Incompatible-red?logo=Meta)](https://img.shields.io/badge/Quest-Incompatible-red?logo=Meta)\n[![Generic badge](https://img.shields.io/badge/Unity-2022.3.22f1-lightblue?logo=Unity)](https://unity.com/releases/editor/whats-new/2022.3.22)\n[![Generic badge](https://img.shields.io/badge/SDK-AvatarSDK3-lightblue.svg)](https://vrchat.com/home/download)\n\n[![Generic badge](https://img.shields.io/discord/706913824607043605?color=%237289da\u0026label=DISCORD\u0026logo=Discord\u0026style=for-the-badge)](https://discord.vrlabs.dev/)\n[![Generic badge](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Fshieldsio-patreon.vercel.app%2Fapi%3Fusername%3Dvrlabs%26type%3Dpatrons\u0026style=for-the-badge)](https://patreon.vrlabs.dev/)\n\nSystem for playing animations for only a single player in an instance\n\n![SelectiveAnimation](https://github.com/VRLabs/Selective-Animation/assets/76777936/7c51b935-5937-42ef-b645-3781e64d38ef)\n\n### ⬇️ [Download Latest Version](https://github.com/VRLabs/Selective-Animation/releases/latest)\n\n### 📦 [Add to VRChat Creator Companion](https://vrlabs.dev/packages?package=dev.vrlabs.selective-animation)\n\n\u003c/div\u003e\n\n---\n\n## How it works\n\n* The system is built using two [Raycasts](https://github.com/VRLabs/Raycast-Prefab).\n* The two raycasts are slightly offset from each other, and one has a contact sender on it, while the other a contact receiver on it.\n* When pointed at a player, both raycasts will collide with the player only on their screen, because the PlayerLocal collider only exists on their side. This means the Contact Sender and Receiver will only make contact for the player the system is pointing at.\n\n## Install guide\n\nhttps://github.com/VRLabs/Selective-Animation/assets/76777936/3dc5d6d8-8855-4bef-9398-62fd3522a69e\n\n* If you dont already have [Final IK](https://assetstore.unity.com/packages/tools/animation/final-ik-14290) installed, download and install the [Final IK Stub](https://github.com/VRLabs/Final-IK-Stub).\n  * Note: Testing in Unity is not possible when using the Final IK Stub!\n* Drag \u0026 drop the ``Selective Animation`` prefab into the base of your Hierarchy.\n* Right click and unpack the prefab, then drag \u0026 drop it onto your avatar.\n* Expand the prefab hierarchy and find ``Selective Animation Target``\n* Move ``Selective Animation Target`` outside of ``Selective Animation`` and place it anywhere in your avatars hierarchy as needed.\n* Adjust the rotation so the laser points in the desired direction.\n* The laser can be disabled or deleted.\n\n## How to use\n\n* Add the bool ``SelectiveAnimation/IsSelected`` to your FX controller.\n* When the system is pointing at a player, the bool will be ``True`` only for the player it is pointing at.\n* Use the bool as a transition condition to make animations visible to only the one player.\n\n## Additional notes\n\n* VRChat uses Final IK v1.9. If you are using a different version you may experience differences in behavior when testing with Final IK.\n\n## Performance stats\n\n```c++\nConstraints:        3\nConstraint Depth:   2\nContact Receivers:  1\nContact Senders:    1\n```\n\n## Hierarchy layout\n\n```html\nSelective Animation\n|-Raycast Container\n|  |-PlayerLocal Raycast Sender\n|  |  |-LimbIK\n|  |  |  |-Grounder\n|  |  |  |  |-Offset\n|  |  |  |  |  |-End\n|  |-PlayerLocal Raycast Receiver\n|  |  |-LimbIK\n|  |  |  |-Grounder\n|  |  |  |  |-Offset\n|  |  |  |  |  |-End\n|  |-Sender\n|  |-Receiver\n|  |-Laser\n|-Selective Animation Target\n```\n\n## Contributors\n\n* [hfcRed](https://hfcred.carrd.co/)\n* [jellejurre](https://github.com/jellejurre)\n* Wakam\n\n## License\n\nSelective Animation is available as-is under MIT. For more information see [LICENSE](https://github.com/VRLabs/Selective-Animation/blob/main/LICENSE)\n\n​\n\n\u003cdiv align=\"center\"\u003e\n\n[\u003cimg src=\"https://github.com/VRLabs/Resources/raw/main/Icons/VRLabs.png\" width=\"50\" height=\"50\"\u003e](https://vrlabs.dev \"VRLabs\")\n\u003cimg src=\"https://github.com/VRLabs/Resources/raw/main/Icons/Empty.png\" width=\"10\"\u003e\n[\u003cimg src=\"https://github.com/VRLabs/Resources/raw/main/Icons/Discord.png\" width=\"50\" height=\"50\"\u003e](https://discord.vrlabs.dev/ \"VRLabs\")\n\u003cimg src=\"https://github.com/VRLabs/Resources/raw/main/Icons/Empty.png\" width=\"10\"\u003e\n[\u003cimg src=\"https://github.com/VRLabs/Resources/raw/main/Icons/Patreon.png\" width=\"50\" height=\"50\"\u003e](https://patreon.vrlabs.dev/ \"VRLabs\")\n\u003cimg src=\"https://github.com/VRLabs/Resources/raw/main/Icons/Empty.png\" width=\"10\"\u003e\n[\u003cimg src=\"https://github.com/VRLabs/Resources/raw/main/Icons/Twitter.png\" width=\"50\" height=\"50\"\u003e](https://twitter.com/vrlabsdev \"VRLabs\")\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvrlabs%2Fselective-animation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvrlabs%2Fselective-animation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvrlabs%2Fselective-animation/lists"}