ピーター、主な理由はC ++がプラットフォームに依存しないことですが、MonoにもかかわらずC#は本当の意味ではありません(たとえば、ほとんどの携帯電話、ニンテンドーDSやPlaystation3でMono C#を実行できるとは思いません)。
とにかく、これらのエンジンのほとんどは、DirectXとOpenGL、および/またはソフトウェアレンダラーをサポートしているため、不可知論者になるようにゼロから設計されています。しかし、他の不可知論者のシステムと同様に、これには多くの労力とリソースが必要です。
今あなたが言うことから、あなたのエンジンはC#+ DirectXです。つまり、あなたのエンジンは現在PC、Xbox、Zune、そしていくつかのWindowのパワード携帯電話で動作するかもしれません。正直なところ、これは悪い範囲のプラットフォームではありません。したがって、この自由度に満足していて、C ++よりもC#を好む場合は、自分が持っているものに固執して、エンジンの改善に時間を費やすほうがよいでしょう。ただし、Microsoft以外でエンジンを実行する場合は、いつかC /C++にジャンプする必要があります。
私が話していることについては、私のチームのエンジンはXbox、PS3、Wii、PSP、PC、そしておそらく他のプラットフォームもサポートしていますが、私たちが努力すれば、15人のフルタイムのエンジニアが取り組んでいます。 ...あなたはそれが大きなコストであることがわかります。無料のプロジェクトでこのようなものが必要で、C ++を知っている場合は、OgreやIrrlichtなどの多くのオープンソースエンジンのいずれかを試すことができます。