Aftertone 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 ToneAsset
objects. These assets support automatic configuration based on existing AudioSource
components.
Drag and drop a real AudioSource
component into a ToneAsset
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 (AftertoneConfig
). 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
Aftertone
folder to your Unity project. - Configure
AfterConfig
inResources
- Create one or more
SnapAsset
s to define how each sound should behave. - Use
Aftertone.Play()
in your code, or add theSnapPlayer
component to your GameObjects.
using BP.Aftertone;
...
Aftertone.Play(myToneAsset, transform.position);
Or, attach a AftertoneSource
component to a GameObject and call:
myToneSource.Play();