mcpField
G
godot-export-builds

godot-export-builds

github.com/thedivergentai云与 DevOps907420 次安装2 周前更新
代码仓库

关于 godot-export-builds

面向 Godot 无头构建、CI 流水线和平台发布准备的技能。它提供针对不同平台的脚本与检查,涵盖导出验证、签名、体积审计、补丁和导出后处理,而非编辑器导出操作教程。

主要功能

  1. 01无头导出流水线
  2. 02适用于 Godot 4.7 的 CI 配置
  3. 03平台签名与公证
  4. 04构建体积和功能审计
  5. 05PCK 补丁加载
  6. 06导出后处理

适用场景

  1. 01在 CI 中运行桌面构建
  2. 02准备已签名的 Android 发布包
  3. 03为直接分发的 macOS 构建办理公证
  4. 04审计构建内容与体积

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/thedivergentai/game-dev-agentic-skills --skill godot-export-builds

安装后在 Claude Code 中输入/godot-export-builds确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
export-setup-guide.md
migration-notes.md
scripts/
export_android_signing_env.ps1
export_build_size_report.gd
export_ci_github_actions.yml
export_custom_build_stripper.py
export_feature_flag_manager.gd
export_headless_pipeline.ps1
export_macos_notarize_cmd.ps1
export_pck_patch_loader.gd
export_post_process_hook.gd
export_steam_upload.ps1
export_universal_manager.gd
export_version_sync.gd
headless_build.sh
version_manager.gd

详细介绍

导出与构建

无头模式 / CI / 平台发布流程配置——不包含 Editor → Export 点击路径教程。

绝对不要做(专家级导出规则)

平台与验证
  • 未经冒烟测试,绝对不要导出到生产环境——在 Editor 中运行 ≠ 满足 Web/移动端/主机平台的限制。
  • 直接分发时绝对不要跳过 macOS 公证——Gatekeeper 会拦截未签名应用(Steam/App Store 分发可作为替代方案)。
  • 绝对不要在构建中使用临时可写的 res:// 路径——存档/日志应写入 user://。
性能与体积
  • 绝对不要将 Debug 模板作为正式版本发布——使用 --export-release。
  • 绝对不要包含原始创作素材等无用文件——在预设中过滤掉 .md / .psd / 文档。
  • 绝对不要忽略 Web/移动端的 VRAM 压缩——启用 ASTC/ETC2(像素艺术保持未压缩)。
安全性
  • 绝对不要提交密钥库或密码——使用环境变量 + export_android_signing_env.ps1。
  • 绝对不要在正式版本中保留调试作弊功能——使用 OS.has_feature("release") 进行限制。
  • 专用服务器导出时绝对不要启用 Shader Baker——这会浪费构建时间;baker 面向有视觉表现的客户端。

平台决策树

目标必须使用的脚本 / 操作不要加载
桌面端冒烟测试(Win/Linux)export_headless_pipeline.ps1 或 headless_build.sh手动使用 Export UI 的教程
Web 冒烟测试无头 Web 预设 + 体积报告仅适用于桌面端的压缩假设
Android 正式版export_android_signing_env.ps1已提交的密钥库
macOS 直接分发export_macos_notarize_cmd.ps1不在 Steam 上发布时,以“Steam 已存在”为由跳过公证
专用服务器无头服务器预设,关闭 baker客户端 Shader Baker / UI 功能包
CI 多平台export_ci_github_actions.yml(Godot 4.7 镜像)过时的 4.2.x 容器版本固定项
Steam depot 上传export_steam_upload.ps1— 如果不在 Steam 上发布
PCK / DLC 补丁export_pck_patch_loader.gd— 如果没有 DLC
一键导出所有预设export_universal_manager.gd—
版本同步export_version_sync.gd / version_manager.gd仅在 UI 中硬编码版本标签
功能剥离export_feature_flag_manager.gd—
体积审计export_build_size_report.gd—
自定义引擎剥离export_custom_build_stripper.py— 除非使用自定义构建
导出后 zip/清单export_post_process_hook.gd—

**Editor Export UI / 模板下载相关说明:**请使用 Reference 中的 Official Documentation 链接,或参阅 export-setup-guide.md 中的 INI/CLI/平台检查清单。

可用脚本

必须:在实施前,先阅读与上述平台决策匹配的脚本。

CI 约定(4.7)

工作流必须获取 Godot 4.7 编辑器和导出模板(而非 4.2.x)。优先使用仓库中已提交的 export_ci_github_actions.yml,而不是粘贴旧版 YAML。使用 actions/upload-artifact@v4 上传构建产物。

专家级导出模式

1. 平台专属补丁(增量更新)

使用 ProjectSettings.load_resource_pack(path, true) 挂载外部 PCK——同路径资源会覆盖基础资源。参见 export_pck_patch_loader.gd。

2. VRAM 压缩审计
  • 桌面 Forward+:S3TC/BPTC
  • 移动设备:ETC2 / ASTC
  • 像素艺术:关闭压缩
3. SteamPipe 上传

在本地/CI 构建 → 使用 STEAM_USER / STEAM_PASS / STEAMCMD_PATH 环境变量和 app_build.vdf 运行 export_steam_upload.ps1。

4. 通用构建管理器

通过 export_universal_manager.gd 遍历 export_presets.cfg 中的预设,以确保一键构建的多平台一致性。

参考

渐进式披露:仅在研究特定 API 时打开官方文档链接;仅在转接到相关领域时加载关联技能——不要预加载整个技能网络。

官方文档
  • 导出(教程索引) — 在深入了解各个平台之前,先查看预设、模板、平台指南、功能标签和 PCK 工作流的索引。
  • 导出项目 — 导出预设、模板安装、包含/排除筛选器,以及发布版与调试版模板的选择。
  • 功能标签 — 用于在运行时剥离调试工具和平台分支的 OS.has_feature / 自定义标签。
  • 命令行教程 — 用于 CI 和脚本化流水线的 --headless、--export-release、--export-debug 和 --export-pack。
  • 导出资源包、补丁和模组 — 使用 ProjectSettings.load_resource_pack 挂载 PCK/DLC,以支持增量更新。
  • 导出至 Android — 商店发布和 CI Android 构建所需的 SDK、密钥库和签名环境配置。
  • 导出至 macOS — 通过 Gatekeeper 分发所需的代码签名、公证和通用二进制选项。
  • 导出至 Web — Web 冒烟测试所需的线程/SharedArrayBuffer、VRAM 压缩和 HTML5 外壳约束。
  • 导出至专用服务器 — 无头服务器模板,以及为何仅面向客户端的烘焙步骤(例如着色器烘焙器)会浪费服务器构建资源。
  • EditorExportPlugin — 钩子 API,用于在团队共用的导出预设中执行导出后的 zip/清单处理步骤。
  • 优化大小 — 当自定义模板必须比原版二进制文件更小时使用的 SCons 模块剥离和大小优化标志。
  • 数据路径 — 了解 res:// 与 user:// 的区别,避免导出的构建写入只读打包路径。
相关技能
前置条件
  • godot-project-foundations — 在设置导出预设和筛选器之前,项目布局、project.godot 版本/图标设置和导入默认值都必须正确。
  • godot-gdscript-mastery — 版本同步、通用导出和后处理钩子中使用的 EditorScript / 插件类型和 OS.execute 模式。
补充
  • godot-platform-desktop — Windows/Linux/macOS 运行时特性(图标、窗口管理、Steam),导出预设必须与之匹配。
  • godot-platform-mobile — Android/iOS 权限、方向和输入方面的假设,应纳入移动端导出选项。
  • godot-platform-web — Web 托管环境限制(CORS、线程、内存),决定 Web 导出类型和冒烟测试矩阵。
  • godot-platform-console — 主机认证打包流程,超出桌面端/移动端导出模板的范畴。
  • godot-adapt-desktop-to-mobile — 触控/UI/安全区域适配必须随带有移动端功能标签的构建一同发布,而不能只放在桌面端资源中。
  • godot-debugging-profiling — 在归咎于预设筛选器之前,先分析导出版本与编辑器之间的差异(着色器编译、内存)。
  • godot-testing-patterns — 针对无头/CI 构建产物运行自动化冒烟测试,避免只在编辑器中运行正常的内容未经验证就发布。
  • godot-save-load-systems — 将数据持久化到 user://;导出筛选器不得移除玩家安装后仍需使用的存档架构。
  • godot-resource-data-patterns — 资源打包和 .gdignore 管理可直接缩减导出体积。
下游/使用方
主索引
  • godot-master — 知识库路由器和镜像模块入口;需要确定哪个领域技能负责跨领域导出或平台问题时,请打开此项。

评论

支持 Markdown