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.
Define reusable audio settings and playback parameters through SnapAsset
objects. These assets support automatic configuration based on existing AudioSource
components.
Drag and drop a real AudioSource
component into a SnapAsset
to auto-fill all settings. Easily preview and test playback directly in the editor.
Avoid runtime garbage collection and minimize CPU overhead by pooling AudioSource
instances. No more GameObject.Instantiate
or Destroy
calls for quick sounds.
Adjust initial pool size, maximum limits, and overflow handling using a centralized configuration asset (SnapConfig
). Fine-tune performance to match your project's needs.
By default, pooled objects are destroyed and recreated with each scene load. Optional settings allow persistent or scene-specific behavior.
SoundSnap is designed to be unobtrusive and modular. Drop it into your project and start using it immediately — or extend it with custom behavior.
This plugin supports Unity 6 and above
- Add the
SoundSnap
folder to your Unity project. - Configure
SnapConfig
inResources
- Create one or more
SnapAsset
s to define how each sound should behave. - Use
SoundSnap.Play()
in your code, or add theSnapPlayer
component to your GameObjects. - Optional: Add
SnapTrigger3D
orSnapTrigger2D
to automatically trigger sounds based on collisions or triggers.
using BP.SoundSnap;
...
SoundSnap.Play(mySnapAsset, transform.position);
Or, attach a SnapPlayer
component to a GameObject and call:
mySnapPlayer.Play();