About unity-testability
A testability advisor skill for Unity developers that helps decide which logic belongs in pure C# and which should remain in Unity-facing classes, then outlines test coverage. It favors meaningful seams over abstraction for its own sake.
Key features
- 01Separate pure C# from Unity logic
- 02Assess configuration injection
- 03Suggest interfaces and test seams
- 04Plan EditMode and PlayMode tests
Use cases
- 01Extract logic for unit tests
- 02Plan a Unity project's test strategy
- 03Decide whether PlayMode coverage is needed
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ besty0728/ unity-skills --skill unity-testabilityAfter installing, type/unity-testabilityin Claude Code to confirm it loaded.
Details
From the project READMEBefore calling any skill in this module: if you are about to call a skill with parameters guessed from its name or description, STOP — read this file (or fetch its schema via
GET /skills/recommend?includeSchema=true) first. If you already have the parameter definitions from recommend/schema, you may proceed straight to dryRun.
Triggers
- Improving testability
- Extracting logic for unit tests
- Planning a test strategy
- 提升可测试性、为单元测试抽取逻辑、规划测试策略
Unity Testability Advisor
Use this skill when deciding what logic should remain in Unity-facing classes and what should move into pure C# code.
Review Questions
- Can the rule/algorithm run without
Transform,GameObject, or scene state? - Can config be injected instead of read through static globals?
- Can runtime decisions be moved to a plain C# class and called from a thin
MonoBehaviour? - Does this need PlayMode coverage, or is EditMode enough?
Output Format
- Logic that should move to pure C#
- Logic that should stay Unity-facing
- Suggested seams/interfaces
- Candidate EditMode tests
- Candidate PlayMode tests
Guardrails
Mode: Documentation only — no REST skills to gate; load freely under any operating mode (Approval / Auto / Bypass).
- Do not force test seams everywhere if the script is tiny and scene-bound.
- Prefer a few meaningful seams over abstraction for its own sake.