#热重载 #ENABLES_CODES
禁用ENABLES_CODES,修改HotfixView下的代码触发域重载导致只能重新运行播放器如何解决?
禁用ENABLES_CODES情况下,虽然会转一下,但是不会导致域重载
我在定义了一个组件的System,在运行时修改组件的LoadSystem里的逻辑后保存,回到Unity会弹出重新加载程序集,然后会输出ReGenerateProjectFiles finished
输出ReGenerateProjectFiles finished 这个不影响
很奇怪,我关闭了Unity的Auto Refresh,ET工程依然会在修改任意代码后自动编译,新建的空工程不会
将CodeMode改成Client之后就好了。。。
因为这个是扩展出来的方便生成工程文件 ReGenerateProjectFiles。空工程是没有这个,如果不需要你可以搜索项目代码,把那个方法注释掉。搜索ReGenerateProjectFiles
用空工程测试子程序集即使Define Constraints条件未达成,不参与编译,在代码修改并刷新资源时依旧会重载域。
使用Unity版本2021.3.12f1c1和2020.3.41f1c1
测试流程:运行Sample场景,修改NewBehaviourScript脚本,回到Unity刷新工程,打印输出OnDomainUnload和静态列表被清空
peference->general->script change when play改成compiling afer finish playing
egametang Unity2021后这个设置弃用了,如要启用该功能参考以下链接:
https://support.unity.com/hc/en-us/articles/210452343-How-to-stop-automatic-assembly-compilation-from-script
只要设置我上面写的那个就够了
compiling afer finish playing选项在2021.3.14f1之后被恢复
https://issuetracker.unity3d.com/issues/recompile-after-finish-playmode-option-is-gone