项目打开时的引擎自动匹配
问题背景
如果没有项目-引擎绑定机制,典型的打开流程是:
- 手动打开正确版本的 Godot 编辑器
- 在编辑器里找到"导入项目"或"打开项目"
- 浏览文件系统定位到项目目录
- 确认
project.godot文件 - 打开项目
中间只要某一步选错了——比如用 4.7 beta 打开了一个绑定 4.2 的项目——就会出现 API 不兼容、节点不存在、编辑器报一堆错误,严重时还会因为新版保存了 project.godot 让项目变得在旧版里也打不开。
GodotHub 的项目绑定
GodotHub 在项目首次导入时就记录了"这个项目用哪个引擎版本":
- 引擎版本:精确到小版本号,比如 4.2.2-stable
- 启动参数:如果项目有特殊启动需求,也可以一并记录
当你在 GodotHub 的项目列表里双击打开某个项目时,它会:
- 读取该项目绑定的引擎版本
- 检查该引擎是否已安装
- 如果已装 → 直接用对应的 Godot 可执行文件打开项目
- 如果没装 → 提示你安装对应版本
手动修改绑定
如果某个项目需要升级引擎版本(比如从 4.2 升到 4.5),可以在项目管理界面里手动修改绑定关系。GodotHub 会保存新的绑定,下次打开就用新版本。
升级引擎时要注意:不同主版本之间 API 变动可能较大,首次用新版本打开项目后,Godot 编辑器会尝试自动迁移某些资源,但代码层面的 API 废弃需要手动调整。
与 Godot 编辑器的关系
GodotHub 的项目-引擎绑定完全是 GodotHub 自己管理的,不写入 Godot 引擎本身的配置文件。这意味着:
- 同一个项目目录,你既可以通过 GodotHub 打开,也可以直接用某个 Godot 可执行文件打开
- 绑定信息只在 GodotHub 里生效,删除项目绑定不会影响项目本身的任何文件
- 这种设计保证了 GodotHub 的"完全可选"定位——随时可以手动管理引擎和项目