工具源码:https://github.com/handzlikchris/FastScriptReload
介绍
- 用于运行时修改C#后能快速重新编译C#并生效,避免每次改C#,unity全部代码重新编译,耗时旧且需要重启游戏。
使用
-
需要手动调整AssetPipeline自动刷新模式,即改成运行时不要自动刷新资源,同时意味着:
-
运行时改shader代码不会及时生效,如果主要调试shader,还是要开运行时刷新。
-
运行时window下改工程资源,unity不会刷新,比如外部新增一张图,unity不会刷新显示。
-
原理
-
FastScriptReloadManager
中EditorApplication.update
每帧检查所有配置的*.cs
文件System.IO.FileSystemWatcher.Changed
提供文件变化时事件
-
对变化的C#文件重新创建C#文件
- 对原来