I think you should add publicpublic to each property.
example)
[Serializable] public class Mission { public Mission() { Parent = -1; }:
[Serializable]
public class Mission
{
public Mission()
{
Parent = -1;
}
[SerializeField] public int Parent;
[SerializeField] public int Id;
[SerializeField] public string Name;
[SerializeField] public string Description;
[SerializeField] public MissionState State;
[SerializeField] public MissionType Type;
}
}