heterogeneous container in inspector

If you have lets say a list of some base class, it would seem the only way to actually assign different derived types to it in the inspector is to use ScriptableObject? Am I missing something?

An editor script (which isn’t that difficult to write, once you get all the magic parts sorted out,) should be able to create and display each sub-type properly.

But, yes, Animal in the Inspector does seem useless at first. There’s no built-in way using the UI to create or to display a Cat or Dog element.