# Sound

Un `Sound` es una instancia que puedes crear desde código para reproducir uno de los sonidos que hayas creado previamente en la ventana **Audio Creator**, dentro del apartado **Sounds**. Representa un efecto de sonido individual; como un golpe, paso, clic de botón o cualquier otro efecto que se reproduce puntualmente.

***

### 🛠 Cómo crear un objeto `Sound`

Para usar un sonido desde código, primero debes haber creado ese sonido en el **Audio Creator**, y luego puedes invocarlo usando su tag o su identificador `SFX`. Por ejemplo:

```csharp
new Sound("Jump").Play();
```

O si usas un `SFX` directamente:

```csharp
new Sound(SFX.Jump).Play();
```

{% hint style="info" %}
Si modificas el tag de un sonido en la ventana *Audio Collection*, las referencias en código (`SFX.jump`) se romperán.
{% endhint %}

También puedes almacenarlo en una variable si necesitas manipularlo más adelante:

```csharp
Sound jumpSound = new Sound("Jump").SetVolume(0.8f).SetLoop(true);
jumpSound.Play(); 
```

***

### 📝 Ejemplo Avanzado

```csharp
Sound laser = new Sound(SFX.laser)  
    .SetVolume(0.5f)  
    .SetRandomPitch()  
    .SetHeardDistance(5, 30)  
    .SetOutput(Output.SFX)  
    .OnComplete(() => Debug.Log("Laser recargado"))  
    .Play();  
```

*👉 Configuración de un láser con volumen bajo, pitch aleatorio, sonido 3D y un callback al terminar.*
