[Machine translated]
This tool helps you grasp the overall structure of Unity project files by reporting on them.
In Unity projects, various elements such as scripts, graphics, audio, and physics are managed. The settings for these elements are scattered throughout the project, making it somewhat laborious to understand the overall picture.
Wouldn't it be easier to understand the latest configuration of the project with a more comprehensive view? This package allows you to output a list of various settings, scenes, assets, relationships, and key configuration values from Unity Editor into a markdown report file with a single command. By gathering reports on specific aspects you wish to know, you can more easily grasp the project structure.
-
UPM
- Open Window/Package Manager in Unity Editor and install the package from git URL using the following:
https://github.com/uisawara/UnityProjectCatalog.git-
It uses
Newtonsoft.Jsonas a dependency module. Please install it if it's not already in your project.- (I feel that existing projects often have it installed in various ways, so to avoid conflicts, it is intentionally not included in the package's dependencies.)
- Run Menu/Tools/Generate project catalog in Unity Editor.
- Once the command finishes, a report of the project structure will be output to
<project-folder>/catalog/. - The report will be output in markdown + mermaid format (.md).
- The files in the
/Editor/Reportersfolder represent the types of reports. - Several types of reports are prepared based on various perspectives.
- By Scope:
- Project
- Configuration information for the entire project.
- Presets
- Preset information for the entire project.
- Templates
- Scene template information for the entire project.
- Scene
- Information about each scene included in the project.
- Assets
- Information about prefabs included in the project.
- Project
- By Functionality:
- Scripts
- Graphics
- Audio
- Physics
- Canvas
- Prefab
- By Scope:
-
In the
Scripts_Asmdefsreport, you can set exclusions for asmdef.- Place
UnityProjectCatalogSettingsinAssets/Settings/and configure it in theExcluded Assembliesto exclude from output. - You can create the settings file from the right-click menu in Project Window by selecting Create/Settings/Unity Project Catalog Settings.
- Place
-
Some reports are disabled by default and require configuration.
-
PostProcessingVolumes
- Please set
UNITYPROJECTCATALOG_USE_POSTPROCESSINGinScriptingDefineSymbols.
- Please set
-
Zenject
- Please set
UNITYPROJECTCATALOG_USE_ZENJECTinScriptingDefineSymbols.
- Please set
-
NuGet For Unity
- If there is an
Assets/packages.configfile, it will automatically be included in the report target.
- If there is an
-
- Open the Catalog folder with VSCode, Typora, etc., and arrange the Project reports, Asset reports, and Scene reports from left to right to easily see the parent-child relationships of settings.
- For example:
- Graphics-related
- Project_GraphicsSettings
- Project_QualitySettings
- Project_TagsAndLayers
- Project_ShadersAndMaterials
- Scenes_MaterialsAndRenderers
- Scenes_RenderersWithMaterials
- Scenes_ShadersAndMaterials
- Script-related
- Scripts_Modules
- Scripts_Asmdefs
- Scripts_ScriptExecutionOrder
- Scripts_ZenjectContexts (optional)
- Graphics-related
- Example:
- This shows GraphicsSettings, QualitySettings, TagsAndLayers, SceneCameras, SceneLightings, Scene (using) Shaders from left to right.
- You can see what settings are applied overall and what structure is configured across multiple scenes.
- For example:

- You can understand the dependencies between asmdefs with Assembly Dependency.
- The
Scripts_Modulesreport summarizes the modules used for Git Submodules, NuGet Packages, and Unity Packages.
- This package is actively created using tools like ChatGPT.
- If you wish to modify the report, it is recommended to directly place files in the project without going through UPM, or to incorporate them via git submodules.