Colision personaje con suelo OnCollisionEnter/Exit

Hola amigos de Unity, tengo una duda, estoy tratando de hacer un script en donde al saltar(desprenderme del suelo) se genere un sonido, y al caer al suelo siga sonando otro script en donde tengo sonidos al caminar, correr, etc

public AudioClip saltar;
	public GameObject personaje;
	
	void OnCollisionExit(Collision hit){
		if(hit.gameObject.tag == "Player"){
			audio.PlayOneShot(saltar);
			personaje.audio.mute = true;
		}
	}
	void OnCollisionEnter(Collision hit){
		if(hit.gameObject.tag == "Player"){
			personaje.audio.mute = false;
		}
	}

no me funciona el script, creo que es porque mi personaje y el terreno deben tener rigidBody para poder usar estos eventos, pero eso es imposible ya que un terrain no debe tener esto, ya que se cae al infinito XD, si este no es el camino para lo que deseo ayúdenme porfa, Gracias :slight_smile:

Por que no hacer algo mas sencillo?
si ya tenes el script de saltar,correr,caminar,etc entonces modificalo,cuando el jugador presione la tecla “space”(o la tecla que pusiste para saltar)que reproduzca el sonido de saltar.
ejemplo:
preguntas si esta presionando la tecla “space”
si la tecla “space” se oprimio entonces salta y reproduce tal sonido
lo mismo con correr,caminar etc
(si sabes o tenes conocimientos de programacion estoy seguro de que entendiste)
suerte y adios :wink: