Assemblies and Namespaces

Sounds Good ships all its code inside Assembly Definition Files (.asmdef). This keeps the plugin isolated, accelerates script re-compilation and prevents name clashes with your own classes. If your project is already split into assemblies, just add a reference to the Sounds Good assemblies you need.


📚 Assemblies included

Assembly
What it contains

SoundsGood.Application

Runtime code: Sound, Music, Playlist, DynamicMusic, SoundsGoodManager.

SoundsGood.Domain

Models and data shared by runtime and editor.

SoundsGood.Editor

Editor windows (Audio Creator, Audio Collection, Output Manager, Version Upgrader).

SoundsGood.SystemUtilities

Helpers for reflection, pooling, coroutines and internal extensions.

SoundsGood.Demo

Scripts and scenes inside the Demo folder.


With this assembly and namespace organisation, Sounds Good integrates cleanly and modularly into any project architecture and offers these advantages:

Benefit
Why it matters

Name isolation

You can create classes called Sound, Music or OutputManager in your own code without colliding with the asset.

Faster compilation

Unity recompiles only the assemblies that changed, not the whole project.

Clear dependency control

You decide which parts of the plugin each of your packages references.

Reduced risk of circular references

Dependencies are explicit in .asmdef files, not scattered across loose scripts.

Last updated