What problem does it solve?
Helps Unity developers decide which code belongs in Unity-facing MonoBehaviour and scene context versus pure C# modules so core logic becomes reliably unit-testable, reducing coupling to scene state and fragile PlayMode tests.
Core Features & Use Cases
- Identify extractable logic: Point out algorithms and rules that can run without Transform, GameObject, or other scene state and should be moved into plain C# classes.
- Preserve Unity-facing responsibilities: Mark thin MonoBehaviour responsibilities such as wiring, input translation, and scene binding that should remain Unity-bound.
- Design seams and interfaces: Recommend dependency injection points, interfaces, and seams for mocking scene or engine interactions.
- Test suggestions: Propose candidate EditMode tests for pure logic, and candidate PlayMode tests for scene-dependent behavior while avoiding unnecessary abstraction for tiny, scene-bound scripts.
Quick Start
Analyze this Unity MonoBehaviour, list what to extract into pure C#, propose seams/interfaces for injection, and outline candidate EditMode and PlayMode tests.