Does Unity API provide a simple solution that will allow me to only allow a single script of a certain type on a Gameobject in the editor like most of the built in components?
I’m not sure how recently this was added, but there is now the class attribute:
[DisallowMultipleComponent]
This will prevent the editor from letting the user add the Component to the same GameObject twice.
Well, not really. The best you can do is to use the Reset() event to detect duplicates. But be careful, you can’t destroy the instance in Reset().
See this question for a detailed explanation / solution: