使用GitHub Copilot 和Unity的 5 个技巧

STACEY HAFFNER / UNITY TECHNOLOGIESContributor
Aug 11, 2026|5 MIN
深色主题的内联代码编辑器提示面板,顶部显示标记为“EquipmentSlot.cs:9-18”的 C# 文件引用标签,带有占位符文本“描述要构建的内容”的文本输入字段,以及带有添加 (+)、代理模式、自动模式按钮、设置/筛选图标和停止按钮的底部工具栏。
为方便起见,此网页已进行机器翻译。我们无法保证翻译内容的准确性或可靠性。如果您对翻译内容的准确性有疑问,请参阅此网页的官方英文版本。

Unity 的 AI 工具现已推出 beta 版,我们看到人们对它的新功能感到非常兴奋,特别是编辑器内置的 AI 助手及其与流行开发者工具的集成。如果您是第一次体验测试版,可以在人工智能工具网页上了解更多信息。我们还制作了一系列视频操作指引,帮助您快速上手其核心功能。

我们与 Stacey Haffner 坐下来讨论了她如何使用GitHub Copilot 和Unity来优化她的游戏开发工作流程。Stacey 曾是微软的首席开发者倡导者,同时也是一位拥有十多年独立游戏开发经验的 YouTuber。她拥有.NET、Xbox和Unity等创作者技术领域的背景。除了为开发者发声之外,她还经营着自己的独立工作室,并每两周发布一次游戏开发教程。

让我们深入探讨一下。

提示1:利用上下文窗口,而不是对抗它。

“上下文窗口是人工智能在一个会话级别/会话次数中的工作记忆,它有容量限制。”根据所使用的底层模型,性能可能在达到极限之前就开始下降,因此随着会话级别/会话次数的进行,响应的准确性可能会降低。GitHub Copilot 可以通过压缩会话级别/会话次数来帮助您解决这个问题,但是如果您在底层模型已经开始降级之后触发压缩,则降级后的状态将成为您的新基线。因此,我建议从一开始就围绕这个限制来构建你的工作流程。”

“对于更复杂的功能,我会使用主聊天线程来协调这项工作。对于大型功能,我会让主线程将工作分解成若干个专注的小块,然后启动后台代理来处理每个小块。编码代理负责实现,验证代理负责审查,一旦审查通过,该循环就会重复进行,直到功能完成。每个代理都在各自的上下文中运行,因此主线程能够保持专注并持续更长时间地稳定运行。

Visual Studio Code 窗口显示了一个名为“模块化任务系统实施计划”的GitHub Copilot 聊天面板。用户提示要求 Copilot 为Unity中的开放世界 RPG 创建一个模块化任务系统的实现计划,该系统包含分支对话、任务依赖关系、NPC 互动、奖励和编辑器工具,并参考 EquipmentSlot.cs 文件第 9-18 行。Copilot 的回应解释说,它正在启动两个并行的研究代理——一个通过阅读 README.md 来探索Unity任务系统选项,另一个通过阅读 Interactable.cs 的第 1-40 行来扫描项目架构——底部有一个“思考中”状态指示器。

提示 2:搭建项目环境

“ GitHub Copilot 底层模型通常是通用的,但您可以通过向项目中的 .github 文件夹添加配置文件来定制 Copilot 的行为。您可以添加三种主要文件类型,以帮助GitHub Copilot 了解您的项目和域名。

  • 自定义指令是 Copilot 为每个会话级别/会话次数加载的始终存在的上下文,它定义了项目的基线。它们应该包括您偏好的编码规范、 Unity项目规范(例如, Unity引擎版本和渲染管线)、架构模式和一般偏好。这些规则适用于无论你在项目的哪个部分工作都应该始终成立的事情。
  • 代理人是各个领域的专家角色,每个代理人都有自己专属的工具和说明。我有一些代理人专注于着色器、UI工具包、游戏系统等等。最简单的做法是选择与手头工作相匹配的代理人,但您可以通过在代理人之间添加交接来增加更多结构。
  • 技能是模块化的、可重用的指令,只有在特定任务触发时才会加载。技能描述会在每次会话级别/会话次数中加载,以便模型知道何时调用它,但完整的详细信息只有在实际需要时才会加载。例如,我的 UI Toolkit 代理会根据需要调用用于样式设置、UXML 编写和相关任务的各项技能。这样可以保持模型在任务间的内存上下文高效运行。
Visual Studio Code“本地代理自定义”设置面板,采用深色主题。左侧边栏列出了导航项目——概述、代理(9)、技能(32)、说明、提示(4)、钩子(2)、MCP 服务器(2)和插件(1)。主内容区域显示标题“本地代理自定义”,描述为“调整代理在您的项目中的工作方式。您可以为整个团队配置工作区自定义设置,也可以创建可在各个项目中使用的个人设置。下面是一个标记为“自定义您的代理”的文本输入框,其中包含占位符文本“优先选择简洁的提交、彻底的审查和经过测试的代码……”。接下来是六个功能卡片,以网格形式排列——代理、技能、说明、钩子、MCP 服务器和插件——每个卡片都有一个简短的描述和一个“新建…”或“浏览…”按钮。

提示 3:一个好的计划至关重要。

“计划模式是任何实施开始前的第一步。”当您使用 /plan 命令并附上您的具体指示时, GitHub Copilot 会分析您的代码库和请求,以便在编写任何一行代码之前规划出实现路径。

请务必尽可能详细地描述该功能或修复方案,然后请 Copilot 进行调查并提出问题。交流将帮助你更详细地思考用户体验和功能,这通常会发现一些极端情况。一旦该迭代完成,就让 AI 定义实现的总体框架,包括它使用的现有系统、需要创建的新类和方法,以及所有这些如何组合在一起。只有在这种情况下,你才能让它编写代码。”

一个深色主题的 Visual Studio Code 聊天输入框,显示了以斜杠命令“/plan”(蓝色高亮显示)开头的输入提示,后面跟着:“制定模块化任务系统的实施方案。”该系统应支持分支对话、任务依赖、脚本事件、目标、NPC 互动、奖励和编辑器工具。将工作分解为里程碑,识别技术风险,并提出架构建议。提出问题,仔细思考设计方案/极端情况。下面的工具栏显示了代理模式、Claude Opus 4.8、High 1M 上下文和设置图标。底部状态栏显示“本地”、“默认审批”、“项目”:2、调试任何 CPU,解决方案:starter-project.slnx。

提示 4:不要跳过代码审查

“人工智能生成的代码需要审查,尤其是那些会在项目中长期保留的代码。一旦实现版本返回,你应该像对待拉取请求一样仔细阅读它。

“在 VS Code 发布代理窗口之前,我尝试过几种不同的方法,现在我最常用的是代理窗口。我可以高亮显示特定代码,并使用 /Explain 命令让 AI 向我解释其功能,或者使用 /Review 命令让它点评它刚刚编写的代码。接下来,我会像在真正的拉取请求中一样,直接在差异中添加内联注释,然后将它们作为一个整体发送给人工智能进行迭代。”

“这个习惯很重要,因为它能使代码符合我的标准,并确保我对我的系统保持深刻的理解。”这些知识能帮助我在游戏开发过程中做出正确的设计决策。”

Visual Studio Code 面板标题为“C# 中的活动选择解释”,显示了对 EquipmentSlot.cs 第 9-18 行选定代码片段使用的 /explain 斜杠命令。高亮显示的代码显示了一个私有的 void OnRightClick(PointerDownEvent evt) 方法,该方法可以防止非右键单击和null项,停止事件传播,通过 DropItem() 丢弃物品,并通过 InventoryWindow.Instance.TryReturnItem(item) 将其返回到物品栏。在代码块下方,Copilot 的解释分四段描述了该方法:它作为右键单击卸下装备处理程序的用途、两个提前返回保护条款、为什么 StopPropagation() 可以防止重复的 UI 事件,以及 DropItem() 和 TryReturnItem() 如何一起将物品从槽位中移除并将其返回到玩家的物品栏中。

提示 5:利用人工智能作为私人导师

“您可以使用GitHub Copilot 为任何您想学习的Unity概念创建自定义操作指引。因为GitHub Copilot 可以读取你的项目,所以你可以让它根据你的游戏需求和你的技能水平来定制课程。

“我一直想学习着色器,所以我构建了一个Unity Shader Graph代理,它非常注重教学,并用它来制作用于战斗的地面目标叠加层。当我遇到不完全理解的概念时,我可以提问,只有在我准备好之后才能进行下一步。

“重要的是要通过一系列课程,逐步培养孩子的独立性。”例如,我要求它提供前两个着色器的指导教程。它引导我了解了那些陌生的节点和数学原理,让我真正理解了每个着色器的工作原理。我想自己编写第三个着色器,所以当我遇到困难时,我只是寻求提示而不是答案。它给了我几个指导性问题,帮助我确定了下一步该怎么做,于是我继续前进。到最后,我才真正理解了我所创造的是什么。

一个深色主题的着色器图编辑器(可能是Unity Shader Graph或类似的基于节点的工具),显示了一个由青色/蓝绿色线条连接的互连节点组成的复杂网络。该图分为多个带标签的部分,包括“外圆”、“圆锥”和“线”。节点显示各种中间纹理预览——包括白色、黑色和灰色圆圈、渐变斜坡、多阶段的圆锥/泪滴形状、黑白条纹图案以及从绿色到红色和从黑色到红色的颜色渐变色板。黄色注释节点在整个图中提供描述性注释。右下角显示“主预览”面板,渲染最终输出:深色背景上的红色实心圆圈。左侧面板显示着色器属性输入,包括枚举关键字、浮点数、布尔值和多个浮点数参数。

与 Stacey 深入探讨 AI 测试版访问权限

为了更深入地了解这些主题,Stacey 在她的YouTube 频道上分享了几个相关视频。Unity编辑器内置AI助手现已推出公开测试版。点击这里开始您的14天免费试用。