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 @   赵青青  阅读(1520)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
阅读排行:
· 10亿数据,如何做迁移?
· 推荐几款开源且免费的 .NET MAUI 组件库
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 易语言 —— 开山篇
· Trae初体验
历史上的今天:
2020-05-10 less快速入门
2016-05-10 Windows系统上的.Net版本和.NETFramework的C#版本
CONTENTS
点击右上角即可分享
微信分享提示