Суть в том, что на цели должен быть проходимый коллайдер (включена галочка isTrigger), в таком случае у вас появляется доступ к событиям OnTriggerEnter2D, OnTriggerExit2D и OnTriggerStay2D, которые вызываются при вхождении, выходе и нахождении постороннего коллайдера внутри этого. Далее проверяете что именно вошло в коллайдер (например, по тегу, который есть только на игроке) и делаете SetActive(true) на кнопке.
Как-то так:
using UnityEngine;
public class SimpleTrigger : MonoBehaviour {
public GameObject button;
private void OnTriggerEnter2D(Collider2D c) {
if (c.gameObject.tag == "Player")
button.SetActive(true);
}
}