{"id":14960431,"url":"https://github.com/extrys/unitycollisioncomputer","last_synced_at":"2025-10-24T18:31:44.110Z","repository":{"id":248943022,"uuid":"830254682","full_name":"Extrys/UnityCollisionComputer","owner":"Extrys","description":"Makes use of Unity's Physics API, and it's used to handle custom collision events in a more efficient way than Unity's default collision events.","archived":false,"fork":false,"pushed_at":"2024-08-16T10:48:23.000Z","size":48,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-10T10:04:53.328Z","etag":null,"topics":["data-oriented-technology-stack","dots","jobs","optimization","performance","physical-computing","physics","unity","unity-package","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Extrys.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-07-17T23:11:31.000Z","updated_at":"2024-08-25T15:31:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"37f06c94-7a8e-4741-87a3-fe285bec5764","html_url":"https://github.com/Extrys/UnityCollisionComputer","commit_stats":{"total_commits":16,"total_committers":1,"mean_commits":16.0,"dds":0.0,"last_synced_commit":"b2fde3ffa7dd6ce11809c24d9dd08609f813d278"},"previous_names":["extrys/unitycollisioncomputer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Extrys%2FUnityCollisionComputer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Extrys%2FUnityCollisionComputer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Extrys%2FUnityCollisionComputer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Extrys%2FUnityCollisionComputer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Extrys","download_url":"https://codeload.github.com/Extrys/UnityCollisionComputer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219868117,"owners_count":16555878,"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":["data-oriented-technology-stack","dots","jobs","optimization","performance","physical-computing","physics","unity","unity-package","unity3d","unity3d-plugin"],"created_at":"2024-09-24T13:22:16.067Z","updated_at":"2025-10-24T18:31:38.796Z","avatar_url":"https://github.com/Extrys.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"The problem: Unity's OnCollisionEnter and OnCollisionExit are executed per instance, and when 2 objects collide, both objects execute the event, causing duplicated events.\nIt makes harder to handle things like particles, sounds, or any other effect that should be executed only once per collision.\n\nThis code is working with Unity's Physics API, and it's used to handle custom collision events in a more efficient way than Unity's default collision events.  \nThe whole file contains all needed code to make it work\njust implement ICustomCollisionListener interface in your class and use StartListenCollisions and StopListenCollisions extension methods to start and stop listening to collisions. it requires a Rigidbody reference in each listener for now.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fextrys%2Funitycollisioncomputer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fextrys%2Funitycollisioncomputer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fextrys%2Funitycollisioncomputer/lists"}