How to change monster sounds based on distance?

I would like the monster to have a normal sound play on loop with maybe a 5 second delay in between loops and then when the monster gets to be a certain distance from the player, say 25m, it will change sounds to an attack sound until the player moves out of range.

I’ve been messing around trying to get it to work for a few days and I’m just at a loss. Any ideas?

You can use sqrMagnitude to find the distance between 2 objects in space. (https://docs.unity3d.com/Documentation/ScriptReference/Vector3-sqrMagnitude.html)

Then just run that in a coroutine ( yield WaitForSeconds(5.0); ) that checks every 5 seconds (or whatever time you want) to see if the player is within a certain distance, if they are, play the new sound, if not play the old sound.