У меня есть разные объекты, принадлежащие к одной группе (геометрические фигуры например). У них у всех есть общие методы, но есть и уникальные, поэтому каждую фигуру мне удобнее прописать в отдельном файле. Когда я вешаю скрипт на GameObject, то для реализации взаимодействия мне как раз и необходимо обращаться к общим методам фигур. Для этого я хочу получить компонент объекта, но он, в зависимости от фигуры, имеет разное название.
Нужно создать самый базовый класс с наследованием от MonoBehaviour и интерфейса (возможно он и не нужен), тогда будет работать наследование и в юните для компонентов на его основе.