Хорошо, я знаю, почему мы не используем конструкторы для моноповедений в Unity. Практически для всех случаев использования Start и Awake подходят идеально. Обычно.
Однако в C# есть замечательная функция, которую можно использовать только с конструкторами — поля, доступные только для чтения. В моей конкретной ситуации я работаю над проектом с большим количеством разработчиков и пишу абстрактный MonoBehavior, который будет создаваться подклассами и переписываться много раз множеством разных людей. И я хочу, чтобы поле действовало как константа на протяжении всей жизни объекта (или оно БУДЕТ приводить к странным, трудно обнаруживаемым ошибкам), но с разными значениями в разных подклассах - другими словами, классический вариант использования поля только для чтения. (Я не хочу использовать свойства, потому что они не обязаны оставаться неизменными в соответствии с требованиями языка.)
Итак, могу ли я безопасно использовать конструкторы MonoBehavior? Не выйдет ли из логова где-нибудь по дороге какой-нибудь странный дракон? Что мне следует знать, если я решу их использовать?
Подробнее здесь: https://stackoverflow.com/questions/191 ... obehaviors