{"id":28036124,"url":"https://github.com/bluepixeldev/soundsnap","last_synced_at":"2025-05-11T12:06:37.611Z","repository":{"id":291210820,"uuid":"922599547","full_name":"BluePixelDev/soundsnap","owner":"BluePixelDev","description":"A lightweight and flexible audio pooling system for Unity. Efficiently reuse audio sources to boost performance and simplify audio management.","archived":false,"fork":false,"pushed_at":"2025-05-03T04:53:58.000Z","size":305,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-11T12:06:31.573Z","etag":null,"topics":["audio","pooling","unity","unity-audio","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/BluePixelDev.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,"zenodo":null}},"created_at":"2025-01-26T16:33:37.000Z","updated_at":"2025-05-03T04:54:02.000Z","dependencies_parsed_at":"2025-05-03T05:37:17.130Z","dependency_job_id":null,"html_url":"https://github.com/BluePixelDev/soundsnap","commit_stats":null,"previous_names":["bluepixeldev/sound-snap"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BluePixelDev%2Fsoundsnap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BluePixelDev%2Fsoundsnap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BluePixelDev%2Fsoundsnap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BluePixelDev%2Fsoundsnap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BluePixelDev","download_url":"https://codeload.github.com/BluePixelDev/soundsnap/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253561431,"owners_count":21927787,"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":["audio","pooling","unity","unity-audio","unity3d-plugin"],"created_at":"2025-05-11T12:06:37.005Z","updated_at":"2025-05-11T12:06:37.596Z","avatar_url":"https://github.com/BluePixelDev.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SoundSnap\n\n[![GitHub Repo stars](https://img.shields.io/github/stars/BluePixelDev/soundsnap?style=flat-square)](https://github.com/BluePixelDev/sound-snap/stargazers)\n[![GitHub last commit](https://img.shields.io/github/last-commit/BluePixelDev/soundsnap?style=flat-square)](https://github.com/BluePixelDev/sound-snap/commits/main)\n\n**SoundSnap** is a modular and efficient audio playback system for Unity. It avoids the performance cost of instantiating and destroying audio sources by pooling reusable instances, making it ideal for sound effects, UI sounds, ambient audio, and more.\n\n## Features\n### ScriptableObject-Based Configuration\nDefine reusable audio settings and playback parameters through `SnapAsset` objects. These assets support automatic configuration based on existing `AudioSource` components.\n\n### Intuitive Editor Integration\nDrag and drop a real `AudioSource` component into a `SnapAsset` to auto-fill all settings. Easily preview and test playback directly in the editor.\n\n### Pooled Audio Source System\nAvoid runtime garbage collection and minimize CPU overhead by pooling `AudioSource` instances. No more `GameObject.Instantiate` or `Destroy` calls for quick sounds.\n\n### Configurable Scaling\nAdjust initial pool size, maximum limits, and overflow handling using a centralized configuration asset (`SnapConfig`). Fine-tune performance to match your project's needs.\n\n### Scene Awareness\nBy default, pooled objects are destroyed and recreated with each scene load. Optional settings allow persistent or scene-specific behavior.\n\n### Lightweight \u0026 Extensible\nSoundSnap is designed to be unobtrusive and modular. Drop it into your project and start using it immediately — or extend it with custom behavior.\n\n## Support\nThis plugin supports **Unity 6 and above**\n\n## Getting Started\n1. Add the `SoundSnap` folder to your Unity project.\n2. Configure `SnapConfig` in `Resources`\n3. Create one or more `SnapAsset`s to define how each sound should behave.\n4. Use `SoundSnap.Play()` in your code, or add the `SnapPlayer` component to your GameObjects.\n5. Optional: Add `SnapTrigger3D` or `SnapTrigger2D` to automatically trigger sounds based on collisions or triggers.\n\n\n## Example\n```csharp\nusing BP.SoundSnap;\n...\nSoundSnap.Play(mySnapAsset, transform.position);\n```\n\nOr, attach a `SnapPlayer` component to a GameObject and call:\n\n```csharp\nmySnapPlayer.Play();\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbluepixeldev%2Fsoundsnap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbluepixeldev%2Fsoundsnap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbluepixeldev%2Fsoundsnap/lists"}