Resumen

Para implementar el diálogo de un personaje NPC necesitas añadir el texto y un disparador que te permita iniciarlo.

Aquí puedes el código que puedes utilizar para lograrlo.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class NPCDialog : MonoBehaviour
{
/**** Variables. ****/
public string dialog;
private DialogManager manager;
private bool playerInTheZone;

// Start is called before the first frame update
void Start()
{
    manager = FindObjectOfType<DialogManager>();
}

// Update is called once per frame
void Update()
{
    if (playerInTheZone && Input.GetKeyDown(KeyCode.Return))
    {
        manager.ShowDialog(dialog);
    }
}

private void OnTriggerEnter2D(Collider2D collision)
{
    if (collision.gameObject.tag.Equals("Player"))
    {
        playerInTheZone = true;
    }
}

}

Contribución creada con los aportes de: Wandy Rafael Santana Evangelista.