Un Button permite ejecutar acciones al hacer clic o al activarlo desde navegación.

Desde Inspector

En el componente Button existe:

On Click()

Podés arrastrar un GameObject y elegir un método público.

Ejemplo:

public void Comprar()
{
    Debug.Log("Compra");
}

Desde código

Necesita:

using UnityEngine.UI;

Referencia:

[SerializeField]
private Button botonComprar;

Suscribirse:

void Awake()
{
    botonComprar.onClick.AddListener(Comprar);
}

Quitar listener

botonComprar.onClick.RemoveListener(Comprar);

Interactable