Skip to content

t1k:unity:architecture:assembly-graph

FieldValue
Modulearchitecture
Version2.1.7
Effortmedium
Tools

Keywords: architecture, asmdef, assembly-graph, c4, class-diagram, cs2mermaid, dots, monobehaviour, packages, roslyn, scriptableobject, unity, upm

/t1k:unity:architecture:assembly-graph

Unity diagram adapter for the T1K diagram toolchain. Produces four diagram types from Unity project sources:

  1. modules — Assembly-to-assembly reference graph from .asmdef files (no external tools required)
  2. classes — Per-assembly Roslyn class diagrams with Unity stereotypes via Cs2Mermaid
  3. packages — UPM dependency graph from Packages/manifest.json
  4. c4 — C4 architecture view inferred from asmdef prefix groupings

Install the full Unity toolchain:

t1k diagram install --preset unity

Or install cs2mermaid only (if mermaid-cli already present):

t1k diagram install cs2mermaid

The modules, packages, and c4 capabilities work without cs2mermaid. Only classes requires .NET 8 SDK + Cs2Mermaid.

Terminal window
# Auto-detect and generate all diagrams
t1k diagram refresh
# Generate specific type
node scripts/generate.cjs --type modules --out-dir /tmp/out
node scripts/generate.cjs --type classes --out-dir /tmp/out
node scripts/generate.cjs --type packages --out-dir /tmp/out
node scripts/generate.cjs --type c4 --out-dir /tmp/out
# Check if this adapter applies to current project
node scripts/detect.cjs # exit 0 = match
# List available capabilities
node scripts/list-capabilities.cjs
# Show tool requirements
node scripts/requirements.cjs
CapabilityOutput
modulesmodules.md — Mermaid graph LR of assembly dependencies
classesclasses.md (index) + classes-{asmdef}.md per assembly
packagespackages.md — UPM dependency graph
c4architecture.md — C4 container/component view

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
  • 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)
FileContent
references/unity-stereotypes.mdDetection rules + regex patterns for Unity annotations
references/asmdef-guid-resolution.mdHow GUID: refs are resolved via .asmdef.meta files
references/cs2mermaid-integration.mdCs2Mermaid wrapper design, security review, fallback