Making an NPC/Object follow a Sound

I’m making a research about the Unity and other engine resources, and I want to know if is it possible to make, for example, an NPC or another object follow a sound. For example, if I throw the stone into an floor, she makes a noise, and If exists a object in an circular range, this object moves to the stone.

Is it possible to make something like that?

The easiest way to have objects move towards a sound is to keep the objects that are ‘listening’ in a catalog and let the catalog know every time a sound is produced. To register your objects, set up a script with something like the following (C#), where MyScript is the (non-static) class that moves the GameObjects towards the sound. Please note that this is psuedo-code and hasn’t been tested.

(catalog object)
MyCatalog.cs
List<Transform> listenerTransforms = new List<Transform>();

public void registerListener(MyScript script)
{
    listenerTransforms.add(script.transform);
}

public void checkListenersAgainstSound(Vector3 position)
{
    foreach(Transform listener in listenerTransforms)
        if (Vector3.Distance(position, listener.position < someValue))
            listener.GetComponent<MyScript>().moveTowardsSount(Vector3 position);
}

(listener)
MyScript.cs
void Start()
{
    FindObjectOfType(typeof(MyCatalog)).registerListener(this);
}

(object producing the sound)
SoundProducer.cs
MyCatalog catalog;
void Start()
{
    catalog = FindObjectOfType(typeof(MyCatalog));
}

void produceSound()
{
    //start playing the sound
        //let the catalog know to check against this sound
        catalog.checkListenersAgainstSound(transform.position)
    }