Generate UML class diagrams from your C# scripts — and reverse-engineer .puml diagrams back into ready-to-code C# skeletons. PlantUML in, PlantUML out.Stop drawing diagrams by hand. Stop typing class skeletons by hand. Do both — in one click — without ever leaving Unity.Class Diagram Generator is the two-way bridge between your Unity C# code and PlantUML class diagrams. Generate clean, accurate UML from any folder of your project, share it with your team, then turn an updated diagram back into compiled-ready C# scripts. Architecture review, onboarding, refactor planning, technical documentation — finally in a workflow that respects your time.Why teams use itSee your codebase, instantly. Pick a folder (or scan the whole project), select scripts, hit Generate. PlantUML file or shareable URL — your call.Diagram → code, in one click. Drop a .puml file, choose an output folder, and Class Diagram Generator scaffolds the matching C# skeletons: classes, interfaces, structs, enums, namespaces, fields, properties, methods, parameters. Existing files are protected by default.Built for real Unity projects. Auto-scan picks up Assets/Scripts, Assets/_Project, or Assets. Drag-and-drop folders or individual .cs files. Search, bulk select, invert selection. Click any path to ping the asset.Designed for clean architectures. Internally split into Domain / Application / Infrastructure / Editor layers — interface-driven, testable, and easy to extend.Polished Editor UI. Card layout, format tabs, custom theme, status bar, in-window Docs button. It feels like a Unity-native tool, not a script-with-buttons.What gets extractedTypes — classes, interfaces, structs, enumsNamespaces — rendered as PlantUML packages, with local names inside and fully qualified names in arrows (no syntax errors, no broken diagrams)Members — fields, properties, methods, events, with visibility (+/-/#/~) and stable modifiers ({static}, {abstract})Relationships — inheritance, interface realization, and associations detected from member/parameter types, with multiplicity hints (*) for collections like List and arraysWhat gets generated (skeleton mode)One .cs file per type, organized by namespaceusing UnityEngine; and using System.Collections.Generic; added automaticallyPublic/private/protected/internal modifiers preservedStatic and abstract members preservedStub method bodies (throw new NotImplementedException();) so the project compiles immediatelySkip-existing-files mode (default ON) — safe to run on real codebasesBuilt forSolo devs documenting their own workStudios onboarding new team membersTech leads planning refactors or architecture reviewsTeachers / writers producing technical documentationAnyone tired of redrawing diagrams every time the code changesHighlights at a glanceTwo-way: C# → PlantUML and PlantUML → C# skeletonsWhole-project scan or per-folder scanDrag-and-drop folders and .cs filesExport as .puml file or as a one-click PlantUML server URLSkip-existing-files protection on skeleton generationAuto-detection of common project layouts on openBuilt-in link to the online documentation100% Editor-only — zero runtime overhead, ships nothing in your buildOnline documentationFull guide, examples, and FAQ: https://julestools.gitbook.io/julestools-docs/documentation/tools/class-diagram-generatorSupportQuestions, bugs, feature requests: jules.gilli@live.frArchitectureClass Diagram Generator follows a clean layered architecture:Domain — pure data models (DiagramTypeModel, DiagramFieldModel, DiagramMethodModel, DiagramPropertyModel, DiagramParameterModel)Application — use-case services (DiagramGenerationService, DiagramImportAndSkeletonService) and abstractions (IClassDiagramParser, IPlantUmlExporter, IClassDiagramImporter, ICodeSkeletonGenerator)Infrastructure — concrete implementations (RegexClassDiagramParser, PlantUmlExporter, PlantUmlDiagramImporter, CSharpSkeletonGenerator, PlantUmlUrlEncoder, UnityAssetFileWriter, ScriptSelectionManager)Editor — single Unity EditorWindow (ClassDiagramGeneratorWindow) wired to the application servicesEvery layer is interface-driven, so individual parts (the parser, the exporter, the skeleton generator) can be swapped or reused in your own tooling.Parsing modelRegex-based C# parser — practical coverage of standard C# declarations, fast on large projectsSurfaces {static} and {abstract} modifiers; visibility on members; generic and array hints on relationship arrowsSelf-associations are filtered out automaticallyInside a package block, type names are local; relationship arrows use fully qualified names — keeps PlantUML happySkeleton generationOne .cs file per type, written under your chosen output folderusing UnityEngine; and using System.Collections.Generic; added by defaultMembers get stable modifiers (public, private, protected, internal, static, abstract)Method bodies are stubbed with throw new NotImplementedException();Existing files are skipped by default (toggleable)URL exportUses deflate + PlantUML encoding to produce a one-click URL pointing at the public PlantUML serverNo third-party network call other than that URLCompatibilityUnity: 2021.3 LTS and newer (Editor-only)Render pipelines: N/A — no runtime, no shadersPlatforms: Editor on Windows / macOS / LinuxDependencies: none — pure C# Editor scriptsBuild impact: zero — nothing ships in your buildWhat's includedFull source code (no DLL)Editor window + Application/Domain/Infrastructure layersREADME, online documentation link, in-tool Docs button


