>本文首发于“洪流学堂”公众号。 转载请注明
>上周五,Unity将引擎和编辑器的C#源码公布在了Github上,基于仅限引用的许可。
# 等等。。。什么?
反编译Unity的.NET程序集始终是可以的,并且Unity的服务条款也明确允许这么做来理解和改进你的项目。但是反编译有两个明显的缺点:1)虽然不难做,但仍然很不方便,2)反汇编后的输出不会给你原来的注释和变量名称,试图理解代码就很困难。
为了解决这些问题,一些社区成员为GitHub提供了反编译的代码。说实话,我们对此有复杂的感受。一方面,我们很高兴看到我们的用户为更广泛的Unity团体提供有用的服务,但另一方面,他们的行为严格来说不合法(虽然我们的条款允许反汇编,但不允许重新分发,因为这将变成合法的病毒温床)。
所以只有一个好的解决方案可以解决这两个问题:即我们自己发布原始源代码。
# 这不是什么
为了防止误解和标题党,值得花点时间强调我们没有做的事情。
我们不会将Unity作为开源发布。一点儿都没有。(对不起。)并不是我们不喜欢开源。如果我们认为我们可以开源并且公司能继续经营下去,那么我们今天就会开放Unity的全部资源,而且我们的确拥有越来越多的开源项目。但是主引擎在可预见的未来仍然是专有的,而且C#参考源代码是在许可证下发布的,该许可证仅允许您阅读代码,而不是修改代码。在你带走这些源码之前,请查阅完整的许可文本以获取详细信息。
我们也不会对C#参考源代码接受pull request。我们既没有法律和组织框架来处理这些PR,更不用说仅仅准备PR的行为实际上违反了参考许可(再次提醒,不允许修改代码)。如果您在C#参考源代码中发现错误,我们希望了解它,但请使用Unity Bug Reporter报告它(描述问题并可能链接到参考源代码中的相关行或文件),而不是通过在GitHub上提交pull request。
# 之后会怎样?
所有进入UnityEngine和UnityEditor托管程序集的所有内容的源代码,每个版本都可以回溯到Unity 2017.1。未来,存储库将在每个新版本发布后不久更新。
通过查看每个提交,您可以看到后续版本之间发生了什么变化。例如,2017.3.1patch2更改了这些文件:

就是这样!源码库地址是:在公众号内
希望你能喜欢,来作为你学习Unity的参考。
>本文首发于“洪流学堂”公众号。 转载请注明
>上周五,Unity将引擎和编辑器的C#源码公布在了Github上,基于仅限引用的许可。
# 等等。。。什么?
反编译Unity的.NET程序集始终是可以的,并且Unity的服务条款也明确允许这么做来理解和改进你的项目。但是反编译有两个明显的缺点:1)虽然不难做,但仍然很不方便,2)反汇编后的输出不会给你原来的注释和变量名称,试图理解代码就很困难。
为了解决这些问题,一些社区成员为GitHub提供了反编译的代码。说实话,我们对此有复杂的感受。一方面,我们很高兴看到我们的用户为更广泛的Unity团体提供有用的服务,但另一方面,他们的行为严格来说不合法(虽然我们的条款允许反汇编,但不允许重新分发,因为这将变成合法的病毒温床)。
所以只有一个好的解决方案可以解决这两个问题:即我们自己发布原始源代码。
# 这不是什么
为了防止误解和标题党,值得花点时间强调我们没有做的事情。
我们不会将Unity作为开源发布。一点儿都没有。(对不起。)并不是我们不喜欢开源。如果我们认为我们可以开源并且公司能继续经营下去,那么我们今天就会开放Unity的全部资源,而且我们的确拥有越来越多的开源项目。但是主引擎在可预见的未来仍然是专有的,而且C#参考源代码是在许可证下发布的,该许可证仅允许您阅读代码,而不是修改代码。在你带走这些源码之前,请查阅完整的许可文本以获取详细信息。
我们也不会对C#参考源代码接受pull request。我们既没有法律和组织框架来处理这些PR,更不用说仅仅准备PR的行为实际上违反了参考许可(再次提醒,不允许修改代码)。如果您在C#参考源代码中发现错误,我们希望了解它,但请使用Unity Bug Reporter报告它(描述问题并可能链接到参考源代码中的相关行或文件),而不是通过在GitHub上提交pull request。
# 之后会怎样?
所有进入UnityEngine和UnityEditor托管程序集的所有内容的源代码,每个版本都可以回溯到Unity 2017.1。未来,存储库将在每个新版本发布后不久更新。
通过查看每个提交,您可以看到后续版本之间发生了什么变化。例如,2017.3.1patch2更改了这些文件:

就是这样!源码库地址是:在公众号内
希望你能喜欢,来作为你学习Unity的参考。
>本文首发于“洪流学堂”公众号。 转载请注明