Почему методы Start Update в Unity не наследуются?
Как я понимаю эти методы через рефлексию обнаружатся.
А в чем смысл, почему они не virtual у MonoBehavior.
Я так понимаю, это какой-то оптимизирующий механизм с# даже. А где можно прочитать про этот прием.
Unity и без наследования знает, что их надо запускать. За счёт того, что они не виртуальные - их вызов становится сильно дешевле.
Хз как это реализовано в юнити, если честно.