focus-creative-games / hybridclr

HybridCLR是一个特性完整、零成本、高性能、低内存的Unity全平台原生c#热更新解决方案。 HybridCLR is a fully featured, zero-cost, high-performance, low-memory solution for Unity's all-platform native c# hotupdate.
https://code-philosophy.com/
MIT License
6.6k stars 670 forks source link

UnityEngine在打包后被裁剪部分如果想调用怎么办? #140

Closed sqiuzhao closed 3 months ago

sqiuzhao commented 3 months ago

UnityEngine在打包后被裁剪部分如果想调用,是通过补充元数据的方式使用,还是无条件可以直接使用,或者说热更dll中不能使用这些被裁剪的代码,只能重新打包。

pirunxi commented 3 months ago

补充元数据解决的是泛型问题,跟你说的裁剪问题是两个独立的问题。 被裁剪后一般只能重新打包。如果被裁剪的类型是纯c#类型,不涉及到extern函数,则也可以将被裁剪的代码复制到热更新程序集中,改为引用这个热更新程序集中的该类型。不过除非极有必要,不太推荐这么做。

如果还有疑问请详细阅读文档,或者去新手群交流。