Unity的asm笔记

使用asm的好处

减少修改C#后unity编译dll的时间,对于项目中的C#代码越多效果越明显,比如我们的一个3dmmo项目是纯C#开发,每次修改C#后编译时间就要26s以上

在Unity2018.2中已支持asm

注意事项

引用报错

把第三方库或不常改动的代码放到 Standard Assets或Plugins 目录下,会最先编译,且不能依赖于其它脚本

注:建议每一个asm中的代码是独立的,不依赖于外部,但asm之间可以相互引用

脚本引用丢失

如果美术资源上绑定的MonoBehaviour脚本没有做成asm,而在客户端工程中此代码做成了asm则会出现问题,具体表现为gameobject上引用的脚本丢失,在代码中GetComponent无法查找到。

解决办法就是两个工程的做法需要一样。

注:我在unity2018.4.15中遇到这个问题

各版本Unity的差异

在Unity的Project视图中点右键 - Create,有以下选项

  • Create - Assembly Definition

  • Create - Assembly Definition ,创建出一个xx.asmdef,unity2018.4.15只有此项
  • Create - Assembly Definition Reference,创建出一个xx.asmref,在unity2019.3.7有这项,用来asm之间相互引用
posted @ 2021-05-10 20:09  赵青青  阅读(1389)  评论(0编辑  收藏  举报