插件分享:运行中改代码立即生效,切回编辑器无需编译等待

修改于12/1149 浏览技术交流
大家有没有遇到过:
1️⃣只想简单想改一下逻辑、函数,试验下代码,但是每次Unity都要编译好一会儿
2️⃣运行时候,修改了代码,不能立即生效、必须重启游戏
[表情_叹气]....
或许有朋友会说,哎呀,习惯了就好
可是!But!
无需“编译”真的很丝滑啊[表情_猫咪举手]
所改即所得,思维无间断,大脑友好式编程[表情_星星眼]
而且,有时候真的很赶时间啊[表情_委屈]
没有“编译”时间、运行时修改,很方便快速调整逻辑,省时省力[心动小镇_点赞]
尤其是项目越来越大,编译真的很久
TapTap
好,停止废话,首先第一个是开源的免费插件:

一、FastScriptReload

在github上下载package,直接导入。
效果展示:
游戏运行中,在Update里添加Debug输出
TapTap
注意事项:
使用FastScriptReload需要将 Asset Pipeline 中的 Auto Refresh 关闭
TapTap
由于关闭了Auto Refresh,所以,在每次修改完代码、或者在project里导入了新文件后,且不是play状态的情况下一定!一定!一定!要按一下  :
🎤🤸🤘🏀+R  键,刷新一下
(Ctrl + R)
不然的话,下次点击paly的时候,就看不到修改。
TapTap
手动刷新可能容易忘记,但这是使用FastScriptReload不得不的让步。
不过,下一个插件就更加方便、无需手动刷新了!
它就是👉️-----(破折号)
二、Hot Reload (Hot Reload for Unity)
他的优点是无需像FastScriptReload需要设置Auto Refresh、手动刷新[表情_开心]
而且有面板控制,随时启动随时关闭[表情_开心][表情_开心]
TapTap
效果演示:
TapTap
Hot Reload有很多方便之处,
可是它是付费插件,而且小贵(将近70刀,现在打折30多刀)
(小声一句:网上能下载到“学习版”用哦)
(又小声一句:有条件记得支持正版~)

总结

FastScriptReload:
开源免费,但需要手动设置与刷新。
由于要设置编辑器,所以新开其他项目要注意一下有没有开启Auto Refresh
不然,就会抠着脑袋发问:“不对呀,怎么改了代码没反应?🤨”
Hot Reload:
付费,但无需额外操作
FastScriptReload / Hot Reload 核心是让我们在 Unity运行游戏时直接修改代码逻辑,结果立即生效,且切回编辑器无需等待编译,专注调试。
在修改类继承结构、序列化数据等时候,还是需要停止游戏进行完整编译,否则可能出错或数据丢失。
在提交代码或打包前,务必停止播放、进行一次完整的编译重启,确保所有修改被正确、完整地应用。
《八鸽乐章》完成使命
🌸🌸🌸完结散花🌸🌸🌸
5