Unity的asm笔记

本文为作者原创,转载请注明出处:https://www.cnblogs.com/zhaoqingqing/p/14752619.html



使用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之间相互引用
作者:赵青青   一名在【网易游戏】做游戏开发的程序员,擅长Unity3D,游戏开发,.NET等领域。
本文版权归作者和博客园共有,欢迎转载,转载之后请务必在文章明显位置标出原文链接和作者,谢谢。
如果本文对您有帮助,请点击【推荐】您的赞赏将鼓励我继续创作!想跟我一起进步么?那就【关注】我吧。
posted @   赵青青  阅读(1515)  评论(0编辑  收藏  举报
CONTENTS
点击右上角即可分享
微信分享提示