t1k:unity:architecture:assembly-graph
| Field | Value |
|---|---|
| Module | architecture |
| Version | 2.1.7 |
| Effort | medium |
| Tools | — |
Keywords: architecture, asmdef, assembly-graph, c4, class-diagram, cs2mermaid, dots, monobehaviour, packages, roslyn, scriptableobject, unity, upm
How to invoke
Section titled “How to invoke”/t1k:unity:architecture:assembly-graphunity-assembly-graph
Section titled “unity-assembly-graph”Unity diagram adapter for the T1K diagram toolchain. Produces four diagram types from Unity project sources:
- modules — Assembly-to-assembly reference graph from
.asmdeffiles (no external tools required) - classes — Per-assembly Roslyn class diagrams with Unity stereotypes via
Cs2Mermaid - packages — UPM dependency graph from
Packages/manifest.json - c4 — C4 architecture view inferred from asmdef prefix groupings
Prerequisites
Section titled “Prerequisites”Install the full Unity toolchain:
t1k diagram install --preset unityOr install cs2mermaid only (if mermaid-cli already present):
t1k diagram install cs2mermaidThe modules, packages, and c4 capabilities work without cs2mermaid. Only classes requires .NET 8 SDK + Cs2Mermaid.
# Auto-detect and generate all diagramst1k diagram refresh
# Generate specific typenode scripts/generate.cjs --type modules --out-dir /tmp/outnode scripts/generate.cjs --type classes --out-dir /tmp/outnode scripts/generate.cjs --type packages --out-dir /tmp/outnode scripts/generate.cjs --type c4 --out-dir /tmp/out
# Check if this adapter applies to current projectnode scripts/detect.cjs # exit 0 = match
# List available capabilitiesnode scripts/list-capabilities.cjs
# Show tool requirementsnode scripts/requirements.cjsOutput Files
Section titled “Output Files”| Capability | Output |
|---|---|
modules | modules.md — Mermaid graph LR of assembly dependencies |
classes | classes.md (index) + classes-{asmdef}.md per assembly |
packages | packages.md — UPM dependency graph |
c4 | architecture.md — C4 container/component view |
Stereotypes Injected
Section titled “Stereotypes Injected”See references/unity-stereotypes.md for the full detection rules. Key annotations:
- MonoBehaviour / ScriptableObject — inheritance-based
- {serialized} — fields with [SerializeField]
- ..> requires — [RequireComponent(typeof(X))] edges
- IComponentData / ISystem / IAspect — DOTS interfaces
- {asset} — [CreateAssetMenu] classes
Known Limitations
Section titled “Known Limitations”- Roslyn syntactic analysis (no cross-file type resolution for ~30% of signatures)
- Generated .cs files excluded by default — use —include-generated to include
- GameObject hierarchies and scene references are runtime-only and cannot be represented from C# source
- Semantic (DLL-based) class analysis is deferred to v2 (dll2mmd path)
References
Section titled “References”| File | Content |
|---|---|
| references/unity-stereotypes.md | Detection rules + regex patterns for Unity annotations |
| references/asmdef-guid-resolution.md | How GUID: refs are resolved via .asmdef.meta files |
| references/cs2mermaid-integration.md | Cs2Mermaid wrapper design, security review, fallback |