Unity ECS 生产模式
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/unity-ecs-patterns。
技能介绍
要解决什么问题
传统 Unity 基于 GameObject 与 MonoBehaviour 的面向对象写法,在数千实体、CPU 密集型逻辑(寻路、物理代理、大规模 AI)场景下,往往出现主线程瓶颈、GC 压力和难以并行化的结构。Unity 面向数据技术栈(DOTS) 用实体—组件—系统(ECS)、Job System 与 Burst 编译,把数据布局与执行路径改成更适合缓存与多核的形态;但从 OOP 迁到 ECS 时,系统边界、组件设计、Job 依赖与 Burst 约束并不直观,容易写出「能跑但慢」或难以维护的代码。
技能如何帮助你
本技能聚焦 Unity ECS 生产模式:在明确目标、约束与必要输入的前提下,按最佳实践给出可执行步骤与验证方法,覆盖例如:
- 用 ECS 组织实体与组件,避免在热路径上堆引用与虚调用
- 用 Jobs 拆分可并行工作,理清读写依赖与
NativeContainer生命周期 - 用 Burst 编译数值密集逻辑,并遵守 Burst 不支持的 API 与类型限制
- 将既有 OOP 游戏逻辑分阶段映射到面向数据的系统,而不是一次性重写
需要更完整的模式与示例时,可对照技能资源中的 resources/implementation-playbook.md。
适用边界
任务与 Unity ECS / DOTS 无关、或需要的是本技能范围外的引擎模块与其他工具链时,不必启用本技能。Burst 与 Job 的约束、平台差异以及项目已有的架构债,应在设计阶段一并纳入约束,而不是默认「全项目 ECS」。
使用场景
- 同一屏需要驱动数千个单位(弹幕、人群、小兵)时,用 ECS 设计组件布局并拆分系统更新顺序
- 主线程在寻路、群体 AI 或物理代理上吃满时,把热逻辑改成 Job 并行并验证读写依赖
- 准备把现有 MonoBehaviour 战斗/生成逻辑迁到 DOTS,需要分阶段映射实体、组件与 System 边界
- 已写 ECS 但帧时间仍高,需要按 Burst 约束改写数值循环并建立可重复的基准验证
适合人员
- 负责战斗或单位系统的 Unity 玩法程序,需要在不砍内容的前提下把同屏实体数提上去
- 带队评估 DOTS 落地的 Unity 技术负责人,要定 ECS 迁移范围、风险与验收指标
- 做大规模模拟(RTS、塔防、弹幕)的程序,要把 CPU 密集逻辑从主线程拆到 Job + Burst
- 从传统 OOP 项目切入 ECS 的工程师,需要可操作的组件设计与系统拆分步骤而不是概念科普