F#可以与Unity(游戏引擎)一起使用吗?

rya*_*son 7 unity-game-engine

我正在进入Unity,并想知道我是否可以使用F#而不是C#,因为我更喜欢语法.我猜不是,因为它运行的环境是非常不同的,但也许有些东西会交叉编译代码或其他我不想的东西.

小智 25

我不禁得到的印象是,其他答案都是由那些并不真正知道他们在谈论什么的人写的.

这是在Unity项目中使用F#所需要做的事情:

  1. 创建一个编译成dll的F#项目.将它构建到Unity项目的assets文件夹中.
  2. 添加对UnityEngine.dll和/或UnityEditor.dll的引用.更改引用属性,以便不将dll复制到构建文件夹.当然,您不能以这种方式在Unity编辑器中创建新的F#类,但您可以分配您在F#中编写的类.

目前,您需要启用.NET-version 4.5的(实验性)支持.或者,您可以下载支持.NET 3.5的旧版FSharp.Core.dll.(见这里).

我不能保证你不会因为与FSharp.Core.dll的兼容性问题而遇到麻烦,但这只是猜测,因为我自己没有测试过.