mono的SDK里的msc, 也可以直接用VS或者MonoDevelop编译, 只要版本(3.5/4.0)一致就没问题
Interop
C++调用脚本(DLL)里的东西比较方便, mono的embed...api很全
C#调用C++的话, 需要把C++的类在C#这边做一下映射, 有两种方式:
InternalCall: 直接用mono api注册, Unity应该就是这种方法....解决办法有两个: 一是从内存加载, 二是先卸载再编译
加载后需要还原卸载前的对象状态, 这可以通过序列化来实现
C#的编译时间基本上可以忽略, 游戏运行时这边脚本一改, 卡个几帧就可以继续用新的脚本继续跑了...多语言支持
用Mono可以支持很多语言, Unity支持了三种: C#, Boo(Python), UnityScript(JavaScript)
Boo是Mono SDK里就带的语言扩展
UnityScript..., 强大的IDE支持, 丰富的第三方库, 部分动态语言特性的支持, 可以接受的体积与内存占用
还剩一个很重要的部分: 调试.