用途:在 Unity 6 中规范 ScriptableObject(作为数据模板)与 Prefab(承载逻辑与视觉)之间的关系,通过“桥接模式”(SO-to-Mono Bridge)保证模块化。
主要能力与工作流:
- 结构划分。ScriptableObject 保存静态、只读的“理想”数据,如 maxHealth、baseSpeed、displayName;Prefab 上的 MonoBehaviour 保存运行时可变数据(如 currentHealth、activeBuffs)并持有 SO 引用。
- 初始化桥接。在 Awake() 中把 SO 数值复制到本地实例变量,使同一模板可生成多个独立实例(例如 4 个机器人各自拥有独立的生命与能量)。示例中用 [SerializeField] private RobotSO data; 引用数据,并在 data 为空时输出错误日志。
高级用法: 文件创建分两种模式。少量文件(1–10 个)使用 mcp_unityMCP_manage_scriptable_object,可保证 GUID 完整性并即时生成 .meta 文件,流程为调用该接口后应用补丁。大量文件(10 个以上)可绕过 API 延迟,基于已有 .asset 建立 YAML 模板,用 write_to_file 直接写入 Assets/Data/,再调用 mcp_unityMCP_refresh_unity(scope="assets") 让 Unity 生成 .meta。 针对 API 难以快速处理的深度审计,可用直接读写解析 YAML:在 Prefab 中搜索 m_Script 的 fileID 与 guid 以确认实际挂载脚本;用 grep_search 与 replace_file_content 在项目范围内替换损坏的 GUID 引用,无需逐个在编辑器中打开文件。
参考资料:references/bridge-pattern.md 提供实现细节与排错,references/naming-conventions.md 提供项目文件夹命名规范,references/yaml-templates.md 提供 Unity YAML 模板。
限制:资料未说明支持的具体 Unity 版本范围(除 Unity 6 外)、收费方式、性能上限或与其他工具集成情况,均暂未提供。