unity3d:asset store上C#代码热重载插件,不需要重运行,重新加载更新后函数

C#热重载插件地址

https://assetstore.unity.com/packages/tools/utilities/hot-reload-edit-code-without-compiling-250972?clickref=1011lwHg8abv&utm_source=partnerize&utm_medium=affiliate&utm_campaign=unity_affiliate#description
在这里插入图片描述

打开热重装有两种方法

●方法1:通过导航到Unity菜单栏中的“窗口”打开热重装窗口,然后选择“热重装”。
●方法2:使用快捷键组合“Alt+Shift+H”快速打开热重装窗口。

如何工作

Hot Reload是一个C#编译器扩展,它只编译发生变化的特定方法(非常快,只需要几毫秒)。编译后,我们只将该函数与新版本交换。
这也意味着不涉及域重载,所以静态变量保持不变。
要保持这个窗口不能关闭
在这里插入图片描述

使用示例

    void Update()
    {
    
    
        Debug.Log("222");
    }

输出从111,改为222
不需要重新启动,可以看到log刷出的更改
在这里插入图片描述

Unity自动刷新

热重新加载建议默认禁用“自动刷新”编辑器设置,因为它会在任何文件更改时触发完全重新编译,这是热重新加载允许您避免的。
您可以使用CTRL+R手动触发重新编译,编辑器将自动确定需要编译的内容。这种手动重新编译应该在进行不支持的编辑时使用,比如添加一个新类。当您进行不支持的编辑时,将会显示明确的警告。
请注意,在进行了不支持的编辑后,通常仍有可能继续编辑不相关的文件和函数。在执行手动重新编译之前,不支持的编辑在编辑器中是不可见的。

哪些unity版本可用

此外,以下Unity版本测试并支持热重装:
●2018.4 (LTS)
●2019.4 (LTS)
●2020.3 (LTS)
●2021.3 (LTS)
●2022.1
●2022.2
●2023.1(阿尔法)

常见问题

1.我的更改仅在我聚焦Unity编辑器窗口时生效
改变设置Edit -> Project Settings -> Player -> Run In Background,打上勾
2.热重载在Windows上使用大量内存/CPU
为了检测哪个文件发生了更改,热重载使用了一个文件监视器。在正常执行期间,文件监视器会导致Windows Defender进行大量扫描,从而导致高内存/CPU。建议从Windows Defender中排除项目目录

猜你喜欢

转载自blog.csdn.net/luoyikun/article/details/129903722