unity-code-architecturelisted
Install: claude install-skill alpershin/claude-skill-unity-code-architecture
# Unity / C# Code Architecture
A stack-agnostic standard. It assumes Unity and C#, and nothing else — no specific DI container, reactive library, async library or inspector plugin.
## 0. First: read the room
Before applying anything below, spend one minute on the repository. **Existing conventions of the codebase outrank the defaults in this skill.** A consistent codebase with conventions you dislike is worth more than a codebase with two competing styles.
Detect and then follow:
| Question | How to check | Why it matters |
|---|---|---|
| Where does *our* code live vs. third-party? | a single root folder such as `Assets/_Project/Scripts`, `Assets/!Content/Scripts`, `Assets/Game/` | never restyle or refactor vendor code |
| Is there a DI container? | `using Zenject` / `VContainer` / `Reflex` / installers / `LifetimeScope` | changes how dependencies are wired (§5.2) |
| Reactive or plain events? | `UniRx` / `R3` / `IObservable` / `event Action` | changes how Observer is implemented |
| Async style? | `UniTask` / `Task` / coroutines | changes how deferred work is written |
| Inspector plugin? | `Sirenix.OdinInspector` / `NaughtyAttributes` | changes how fields are validated/grouped |
| Assembly definitions? | `*.asmdef` files | tells you whether layer boundaries are enforced |
| Tests? | test assemblies, `[Test]` / `[UnityTest]` | tells you how much you can safely refactor |
| C# language level? | `csc.rsp`, `<LangVersion>`, editor version; `#nullable` in existing files |