How to avoid having a function being called multiple times by my prefabs?

I have a number of prefabs that are simultaneously present in the scene.

I perform a simultaneous action to all of them and they react by calling the same function.
How can I make sure that this function is called ONCE instead many times?

The function they are calling is not static and it is “public void”. The function plays an Audio clip from another script. Even though the Audio clip is played once (this is what I want), it is unnecessarily called multiple times (because there are more than one prefab in the scene).

Any way to make sure the AudioSource’s Play() is called only once?

This is the code assigned to each of my prefab:

public void ThunderSound() {
		theOtherScript.thunderSource.Play();
	}

The variable “thunderSource” is a static variable.

I think this will solve you issue: