since interface cannot be serialized, have you ever tried the base class - List<Creature>?? think it should work. furthermore, you must add a parameterless constructor to your Dog and Cat class.