UnityGameFramework(UGF) 是由 Ellan Jiang 开发的一个 Unity 游戏开发框架。我决定采用它作为我最近为公司开发的一款 3D 扫雷游戏的开发框架,为此,我觉得有必要仔细阅读它的源码,并做好笔记。另外,我还建了一个仓库去写一些测试代码。
官网已经有教程教用户如何安装框架了。它推荐的安装方式是安装 Unity 插件包,其中核心部分的代码都打包成 DLL 形式了。虽然这种方法方便了用户使用,但我的目的是阅读和调试代码,我得拿到所有的代码。
下面是我的安装方法:
-
下载某一个版本(如我当前使用的是 v2019.11.09)的 UnityGameFramework,并将它拷贝到新建的 Unity 工程的
Assets目录之中,如:
- 删除
UnityGameFramework/Libraries文件夹下的GameFramework.dll和GameFramework.xml文件。 -
下载某一个版本的 GameFramework,并将它的源码拷贝到 Unity 工程的
Assets目录之中。其存放位置任意,如我就将它放进了UnityGameFramework目录之中:
然后在
GameFramework文件夹下新建一个GameFramework.asmdef文件:{ "name": "GameFramework", "references": [], "includePlatforms": [], "excludePlatforms": [], "allowUnsafeCode" : true }然后让
UnityGameFramework.Runtime.asmdef依赖GameFramework.asmdef,让UnityGameFramework.Editor.asmdef同时依赖GameFramework.asmdef和UnityGameFramework.Runtime.asmdef即可。{ "name": "UnityGameFramework.Runtime", "references": [ "GameFramework" ], "includePlatforms": [], "excludePlatforms": [] }{ "name": "UnityGameFramework.Editor", "references": [ "UnityGameFramework.Runtime", "GameFramework" ], "includePlatforms": [ "Editor" ], "excludePlatforms": [] }
如此,整个框架就安装好了。接下来我们可以新建一个空场景 LaunchScene.unity 作为我们的游戏的启动场景,然后把框架提供的 GameFramework.prefab 拖入到场景中:

现在点击运行按钮就可以让框架代码跑起来了。