Agent Skills
返回列表
💻

Unity C# 脚本编程

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/unity-csharp-scripting-sh-hsr42w。

技能介绍

解决什么问题

在 Unity 中,很多 MonoBehaviour 行为异常并不是逻辑写错,而是把生命周期、组件访问、序列化与协程放错了位置:Update 里频繁 GetComponent、物理移动造成抖动、Inspector 字段被随意改写、对象禁用后协程丢失。这个技能针对 Unity 6(6000.0 LTS) 与 C# / .NET Standard 2.1,帮助写出生成、运行和调试都更确定的游戏脚本。

技能如何工作

  • 按目的选择回调:Awake 缓存引用,OnEnable 订阅事件,Start 处理依赖其他对象初始化,Update 每帧逻辑,FixedUpdate 物理,LateUpdate 相机跟随,OnDisable/OnDestroy 清理。
  • 组件访问要安全:优先在 Awake 缓存,必要时用 TryGetComponent 做空引用检查。
  • Inspector 暴露要克制:用 [SerializeField] private 暴露可调参数,避免 public 字段被其他脚本修改。
  • 时间与协程要稳定:帧间缩放使用 Time.deltaTime,延时序列用 StartCoroutine 启动并可控停止。

适用边界

该技能专注脚本生命周期与 C# 管道,不负责刚体碰撞、输入系统、ScriptableObject 配置或 Animator 参数。遇到物理、输入、共享数据或动画驱动,应转向对应 Unity 子系统技能。

使用场景

  • 在 Unity 6 项目中为角色组件选择 Awake、Update、FixedUpdate 回调,并缓存 Transform 引用。
  • 将脚本可调参数从 public 字段改为 [SerializeField] private,保证 Inspector 可编辑但外部不可改。
  • 用协程实现点击后等待 1 秒再播奖励,并在 OnEnable 中重新启动,避免禁用 GameObject 后失效。
  • 排查 Update 热路径里的 GetComponent 和 gameObject.tag 字符串比较,替换为缓存与 CompareTag。

适合人员

  • 负责 Unity 角色行为脚本的客户端工程师,希望生命周期和组件缓存不再依赖试错。
  • 需要维护 Inspector 配置面板的游戏策划,希望参数暴露方式清晰且不被其他脚本意外修改。
  • 接手旧项目并修复协程丢失、物理抖动的 Unity 开发者,想按正确回调重排时序逻辑。
  • 审查 Unity 6 C# 代码的游戏技术负责人,需要检查 Update 性能、序列化和组件访问规范。