В моем случае наверное можно так: сделать общий интерфейс и подключать его к реализациям с помощью паттерна мост. Тогда в связанный список помещать объекты интерфейсов и через них управлять любыми реализациями.
А кстати по поводу шейдеров. В RM там конечно здорово но там максимальная версия вроде 3.0. Бесплатных редакторов я что то не видел где была бы версия шейдеров выше. Может в движок стоит добавить какой-нибудь небольшой редактор?

Ведь в реалтайме редактировать шейдеры удобней.
Вот смотри тут есть:
http://www.uraldev.ru/articles/22