
核心原因Unity 2021 默认每次进 Play 模式都会Reload Domain域重载 Reload Scene哪怕代码没改也会做一次完整脚本程序集重载这是卡顿元凶。下面给你一套从 “立刻见效” 到 “长期根治” 的完整方案。一、立刻见效关闭 Domain Reload最有效打开Edit → Project Settings → Editor勾选Enter Play Mode Settings取消勾选Reload Domain关键保留Reload Scene一般建议开效果进 Game 模式从十几秒变 1–2 秒缺点静态变量不会重置改代码后仍会触发重载。二、优化编译与缓存进一步提速1. 清理 Library 与缓存必做关闭 Unity删除项目目录下的 Library、Temp、ObjWindows删除 C:\Users\你的用户名\AppData\Local\Unity\CacheUnity官方开发者社区重新打开项目2. 关闭自动刷新减少后台编译Edit → Preferences → Asset Pipeline取消 Auto Refresh改完代码手动 CtrlR 刷新Unity官方开发者社区3. 用 .asmdef 拆分程序集大项目必备原理默认所有脚本编译成一个大 DLL改一个脚本全量编译.asmdef 把代码拆成多个独立程序集只编译改动部分Unity。做法按模块建文件夹如 Core、UI、Gameplay右键 → Create → Assembly Definition设置名称与依赖Editor 代码单独放 Editor 文件夹三、排查卡顿来源顽固情况第三方插件禁用 / 删除不用的插件如旧版 DoTween、UniRx、Editor 扩展很多插件会强制每次重载。脚本问题检查是否有 [InitializeOnLoad] 或 [InitializeOnLoadMethod] 做耗时操作避免在构造函数 / 静态构造函数里读写文件、网络、PlayerPrefs硬盘与内存项目放在 SSD/NVMe机械硬盘是瓶颈内存至少 16GBUnity 2021 吃内存明显四、终极组合设置推荐Enter Play Mode开 Settings、关 Reload Domain、开 Reload SceneAuto Refresh关闭手动 CtrlR.asmdef拆分核心模块Library定期删除插件只留必要的更新到适配 2021 的版本五、常见坑提醒关 Reload Domain 后静态变量、单例不会重置测试时注意状态污染。改代码后必须 CtrlR 或重新开 Auto Refresh 触发重载否则新代码不生效Unity官方开发者社区。2021.2 及以上版本有官方已知 Issue无改动也强制 Reload可升级到 2021.3 LTS 最新版部分修复Unity Issue Tracker。要不要我帮你写一个一键清理 Library/Temp 缓存的批处理脚本以后双击就能自动清理不用手动删