Ну, Питер, главная причина в том, что C ++ не зависит от платформы, в то время как C # не в истинном смысле, несмотря на Mono (я не думаю, что вы можете запускать Mono C # на большинстве мобильных телефонов, Nintendo DS или Playstation3, для пример).
В любом случае, большинство из этих движков поддерживают DirectX и OpenGL и / или программные средства визуализации, поэтому они спроектированы с нуля, чтобы быть независимыми. Но, как и для любой агностической системы, это требует больших усилий и ресурсов.
Теперь, исходя из того, что вы говорите, ваш движок - это C # + DirectX. Это значит, что ваш движок прямо сейчас может работать на ПК, Xbox, Zune и некоторых сотовых телефонах Windows с питанием. Это не плохой диапазон платформ, если честно. Так что, если вы довольны такой степенью свободы и предпочитаете C #, а не C ++, вам следует придерживаться того, что у вас есть, и тратить время на совершенствование своего движка. Однако, если вы хотите запустить свой движок на чем-то, кроме Microsoft, вам нужно будет как-нибудь перейти на C / C ++.
Чтобы понять, о чем я говорю, движок моей команды также поддерживает Xbox, PS3, Wii, PSP, PC и, возможно, другие платформы, если мы потратим усилия, однако у нас работают 15 инженеров, работающих полный рабочий день. это, так что ... вы видите, это дорого. Теперь, если вы хотите что-то подобное для бесплатного проекта и знаете C ++, вы можете попробовать любой из множества движков с открытым исходным кодом, например Ogre или Irrlicht.