项目数据统计与归档工具
项目数据统计与归档工具是 Fink Framework 提供的 Editor-only 工具,用于分析 Unity 项目的代码规模、资源构成,并将统计报告或指定目录下的源码导出为文本文件。
当前版本拆分为两个独立的编辑器面板:
- 项目统计面板:执行代码与资源统计,查看报告并同步输出到 Console;
- 项目归档面板:将统计报告和指定目录源码导出为归档文本。
两个面板共用编辑器偏好设置,会记住上次使用的勾选项、路径和导出配置。
1. 打开方式
在 Unity 顶部菜单中选择:
Fink Framework → 统计与归档 → 项目统计面板
Fink Framework → 统计与归档 → 项目归档面板

两个菜单项分别打开对应窗口,不再使用旧版的统一统计归档面板。
2. 项目统计面板
项目统计面板用于选择统计项目、生成统计报告,并在面板和 Unity Console 中同时查看结果。

2.1 代码统计
代码统计区域包含以下选项:
| 选项 | 说明 |
|---|---|
| 启用代码统计 | 统计 C# 行数;关闭后不会生成代码统计段落 |
| 仅统计指定脚本目录 | 将扫描范围限制到 Assets 下指定目录 |
脚本目录:Assets/ | 仅统计指定目录开启时显示,填写相对于 Assets 的路径 |
| 包含 Shader 行数 | 额外统计 .shader 文件行数 |
例如填写:
Scripts实际扫描目录为:
Assets/Scripts代码统计按文件行数计算,不分析类、方法、注释或代码逻辑。
2.2 资产统计
资产统计区域可以分别开启以下统计项:
| 选项 | 扫描扩展名或来源 |
|---|---|
| 材质 | .mat |
| 模型 | .fbx、.obj、.glb |
| 音频 | .wav、.mp3、.ogg |
| Prefab | .prefab |
| 场景 | .unity |
| 图片 / 纹理 | .png、.jpg、.jpeg、.tga、.psd、.exr、.hdr |
| Addressables 组 | 通过 Unity AssetDatabase 查找 AddressableAssetGroup |
| AssetBundle 资源 | 统计设置了 assetBundleName 的资源 |
所有文件型统计默认从项目 Assets 目录递归扫描。
Addressables 统计的是 Addressables 组的数量,不是组内资源数量。AssetBundle 统计的是已设置 AssetBundle 名称的资源数量,不区分具体 AB 包名称。
2.3 生成统计报告
点击 重新统计 后,工具会:
- 清空面板中的旧报告;
- 检查是否至少选择一个统计项;
- 扫描当前项目的
Assets目录; - 按当前选项生成报告;
- 将报告显示在面板的“统计输出”区域;
- 使用
LogUtil同步输出到 Unity Console。
如果没有选择任何统计项,会弹出提示,不会开始扫描。
报告结构类似:
========== 项目统计数据 ==========
[统计时间]
2026-09-16 17:51:18
[代码统计]
C# 行数:153208
Shader 行数:0
[资产统计]
材质:0
模型:0
音频:0
Prefab:15
场景:1
图片/纹理:1
Addressables 组:0
AssetBundle 资源:0
==============================面板与 Console 使用带颜色的显示报告;归档文件使用不含 Unity 富文本标签的纯文本报告。
3. 项目归档面板
项目归档面板专门负责导出统计报告和项目源码,不负责在窗口内展示统计结果。

3.1 启用项目归档
勾选 启用项目归档 后,下面的导出配置才会启用。未启用时,面板不会显示执行归档按钮。
归档面板支持两类独立输出:
- 导出统计报告;
- 导出项目源码。
可以只启用其中一种,也可以同时启用。
3.2 导出统计报告
勾选 导出统计报告 后,需要填写统计导出目录。
导出文件命名规则为:
ProjectStat_yyyyMMdd_HHmmss.txt例如:
ProjectStat_20260916_175118.txt导出的内容来自当前统计选项,会按照保存的代码统计和资产统计配置生成纯文本报告。报告使用 UTF-8 无 BOM 格式写入。
3.3 导出项目源码
勾选 导出项目源码 后,可以配置:
| 配置项 | 说明 |
|---|---|
| 包含 Editor 代码 | 是否包含路径中 Editor 目录下的 C# 文件 |
| 在源码前写入文件路径 | 每段源码前写入对应的 Assets/... 路径 |
| 源码读取路径 | 一个或多个相对于 Assets 的目录 |
| 源码导出目录 | 归档文本的输出目录 |
源码读取路径不需要填写 Assets/ 前缀,例如:
Scripts
FinkFramework点击 + 添加路径 会添加默认的 Scripts 路径。路径列表右侧的 - 按钮可以移除对应路径。
源码导出文件命名规则为:
SourceCode_yyyyMMdd_HHmmss.txt导出时会:
- 递归读取所有配置目录下的
.cs文件; - 根据是否包含 Editor 代码过滤文件;
- 按文件路径排序;
- 按顺序合并到一个文本文件中;
- 根据选项写入文件路径分隔信息;
- 使用 UTF-8 无 BOM 格式保存。
3.4 执行项目归档
点击 执行项目归档 后,工具会先弹出确认对话框。
确认后会检查:
- 是否至少启用统计报告或源码归档中的一种;
- 统计报告是否配置导出目录;
- 源码归档是否配置导出目录;
- 源码归档是否至少配置一个读取路径。
校验失败时会弹窗说明原因,不会执行导出。校验通过后生成对应文件,并在完成后显示“项目归档已完成”的提示。
归档结束后会刷新 Unity 的 AssetDatabase。
4. 两个面板的职责区别
| 面板 | 主要职责 | 输出位置 |
|---|---|---|
| 项目统计面板 | 选择统计项、扫描项目、查看统计结果 | 面板 + Unity Console |
| 项目归档面板 | 配置并导出统计报告、项目源码 | 指定目录下的 .txt 文件 |
推荐工作流程:
项目统计面板
↓ 确认统计范围和结果
项目归档面板
↓ 配置导出目录与源码路径
执行项目归档
↓
ProjectStat_*.txt / SourceCode_*.txt5. 偏好设置与数据范围
两个面板共用 ProjectStatsPreferences 保存的编辑器偏好设置,包括:
- 代码和资产统计开关;
- 指定脚本目录;
- 统计报告导出目录;
- 源码导出目录;
- 源码读取路径列表;
- 是否包含 Editor 代码;
- 是否写入文件路径说明。
面板关闭时会保存当前设置,下次打开时自动恢复。
统计范围和归档范围并不完全相同:
- 项目统计面板扫描项目
Assets下的文件和指定资源信息; - 项目归档面板只导出配置的统计报告和源码读取路径中的 C# 文件;
- 归档不会自动把整个项目资源复制到输出目录。
6. 使用限制与注意事项
- 工具仅在 Unity Editor 中可用,不参与运行时和正式构建。
- 统计是文件级扫描,不分析代码逻辑、资源引用关系或运行时加载关系。
- 代码行数统计包含读取到的文件行数,不等同于有效代码行数。
- 源码归档可能包含项目中的敏感代码,导出前应确认读取路径和输出目录。
- 大型项目第一次扫描或导出较多源码时可能需要一定时间。
- 如果导出目录位于项目
Assets内,导出的文本可能再次被 Unity 识别为项目文件,建议使用项目外部目录。 Addressables组统计依赖项目中已配置的 Addressables 数据。AssetBundle统计依赖资源的assetBundleName配置。
7. 典型使用场景
该工具适合用于:
- 项目体量评估;
- 代码和资源结构盘点;
- 判断是否需要引入 Addressables 或资源分包;
- 阶段性项目留档;
- 技术汇报和项目复盘;
- 软著或技术材料准备;
- 导出指定目录源码供审查或存档。
8. 总结
新版项目数据统计与归档工具将“查看统计”和“导出归档”拆成两个更清晰的编辑器面板:
项目统计面板负责统计配置、结果展示和 Console 输出;项目归档面板负责统计报告和源码文本导出;- 两个面板通过偏好设置共享配置;
- 导出文件带时间戳,避免覆盖已有归档;
- 整个工具只读取和导出数据,不修改项目资源。
它适合作为项目管理、技术决策和阶段性留档的轻量辅助工具。

