当前位置: 首页 > article >正文

Unity 程序集

Unity程序集

记录Unity程序集的相关知识,后续会不断的更新。


Unity 将几乎所有游戏脚本编译到预定义的程序集 Assembly-CSharp.dll 中,

这种安排对于小型项目来说是可以接受的,但是当您向项目添加更多代码时,它有一些缺点:

  • 每次更改一个脚本时,Unity 都必须重新编译所有其他脚本,从而增加迭代代码更改的总体编译时间。
  • 任何脚本都可以直接访问任何其他脚本中定义的类型,这可能会使重构和改进代码变得更加困难。
  • 所有脚本都是针对所有平台编译的。

程序集拆分方案

常见的拆分方式有几种:

  • Assembly-CSharp作为AOT程序集。剩余代码自己拆分为N个AOT程序集和M个热更新程序集。
  • Assembly-CSharp作为热更新程序集。剩余代码自己拆分为N个AOT程序集和M个热更新程序集。

如果 你们项目把Assembly-CSharp作为AOT程序集,强烈建议关闭热更新程序集的auto reference选项。因为Assembly-CSharp是最顶层assembly,它会自动引用剩余所有assembly,很容易就出现失误引用热更新程序集的情

包含程序集定义的文件夹中的脚本(包括任何子文件夹中的脚本(除非这些文件夹包含其自己的程序集定义或引用资源))会编译到新程序集中并从它们以前的程序集中移除。

关于拓展编辑器的代码,也不用必须放到Editor文件夹中,可以在脚本所在的文件夹下面 创建一个程序集,然后在程序集设置中取消勾选所有平台,只勾选 Editor

引用另外一个程序集

AA想调用BB的方法,必须引用BB所在的程序集
请添加图片描述


http://www.kler.cn/a/528301.html

相关文章:

  • gentoo 中更改$PS1
  • 【ArcGIS_Python】使用arcpy脚本将shape数据转换为三维白膜数据
  • 跨境支付领域中常用的英文单词(持续更新)
  • 【JAVA基础】双亲委派
  • 携程Android开发面试题及参考答案
  • docker直接运行arm下的docker
  • 冯·诺依曼体系结构
  • 基于Python的人工智能患者风险评估预测模型构建与应用研究(上)
  • Vue- 组件通信2
  • Recommender Systems with Large Models
  • deepseek 模型 V3 和 R1 的区别
  • UE求职Demo开发日志#18 数据表获取物品信息,添加背包模块
  • 数据结构【链栈】
  • 攻防世界_Web_php_unserialize(绕过php反序列/绕过wakeup函数/代码审计)
  • 移动互联网用户行为习惯哪些变化,对小程序的发展有哪些积极影响
  • 群晖Alist套件无法挂载到群晖webdav,报错【连接被服务器拒绝】
  • 【oracle】分组求最新日期的数据
  • JavaScript系列(51)--解释器实现详解
  • 日志2025.2.1
  • 断裂力学课程报告