Oi, Lury, tudo bem?
Você pode fazer isso pelo código mas uma forma interessante também é usar o Event Trigger.
No botão você pode colocar um script mais ou menos assim:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class ColorButton : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler
{
public Text Texto;
public void OnPointerEnter(PointerEventData eventData)
{
Texto.color = Color.red;
}
public void OnPointerExit(PointerEventData eventData)
{
Texto.color = Color.black;
}
}
Isso chama os eventos do Event System pelo script e troca a cor do botão, agora é só você preencher a variável com o texto que quer trocar.
Obviamente você pode preencher o texto direto pelo script mas optei pela simplicidade. O Event Trigger também tem um componente mas por ele você não conseguiria mudar a cor do botão porque não é uma variável static.