SuperAPI AI 工具集

unity-async-patterns

通用与其它

查看项目

更新于 10-16 01:37

技能介绍

用途:该技能面向 Unity 项目中的异步与协程代码审查,重点捕捉测试阶段正常、生产环境才暴露的异步缺陷,如异常被静默吞掉、对象在 await 期间被销毁、线程上下文违规等。前置技能为 unity-scripting(协程、Awaitable API、yield 类型)与 unity-lifecycle(销毁时机、destroyCancellationToken)。

主要能力:覆盖 Awaitable 双重 await(实例被池化,只能 await 一次,需要多次等待时用 .AsTask());MonoBehaviour 异步方法缺少 destroyCancellationToken(应传入令牌并捕获 OperationCanceledException);BackgroundThreadAsync 后未切回主线程(需 await Awaitable.MainThreadAsync());协程异常吞没(yield 不能放在带 catch 的 try 块中,建议改用 Awaitable);批处理模式下 WaitForEndOfFrame 或 EndOfFrameAsync 永久挂起(改用 yield return null 或 NextFrameAsync);嵌套协程取消(StopCoroutine 不会停止独立启动的子协程,yield return StartCoroutine 才由父级拥有);async void 异常无法捕获(优先 async Awaitable);并发 Awaitable 竞态(用 CancellationTokenSource 取消前一次操作);Addressables 句柄泄漏(需 Addressables.Release,实例化用 ReleaseInstance);UniTask 与 Awaitable 选择(同一项目只选一种,Awaitable 为 Unity 6+ 内置,UniTask 为第三方 com.cysharp.unitask)。

使用方式:作为 Claude 技能加载后,在编写或审查 Unity 异步代码时按上述模式比对,识别错误写法并给出正确写法。资料未提供具体安装命令或调用命令。

适用场景:Unity 6+ 项目、使用协程或 Awaitable 的 MonoBehaviour、Addressables 资源加载、后台线程计算、批处理/无头服务器与测试环境。

限制:资料未提供价格、平台支持范围、性能数据或完整 API 参考;部分内容依赖 Unity 6+ 与特定第三方包,实际行为以官方文档为准。