Inspector can't see the serialized fields of an object

I’m following [this][1] tutorial, and have run into the titular problem.
So there is a class called Dialogue, with the fields sentences and npcName.
There is a class/script called DialogueTrigger, which has a field of type Dialogue.
The DialogueTrigger script is added to a button.

At around 4:33 in the video, the dude is able to edit the fields of the dialogue object (the one in DialogueTrigger) in the inspector. But on my end, it only shows that there is a dialogue object, but won’t let me see its fields.

If I just add the Dialogue script to the button, the inspector is able to see the fields, so I assume that means its serialized fine?

Dialogue script

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

[System.Serializable]
public class Dialogue : MonoBehaviour
{
    
    public string npcName;
    
    public string[] sentences;

}

DialogueTrigger script

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

[System.Serializable]
public class DialogueTrigger : MonoBehaviour
{
       public Dialogue dialogue;
}

The tutorial
172316-un2.jpg
What I see

You need to remove the Monobehaviour from the Dialogue script

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 [System.Serializable]
 public class Dialogue
 {
     
     public string npcName;
     
     public string[] sentences;
 
 }