Skip to content

发布包结构

Unison Engine 以预编译二进制包形式发布,用户无需编译即可运行游戏。

发布包目录结构

MyGame/
├── launcher.exe                    # 游戏启动器 (Rust)
├── unison.xml                      # 引擎配置文件

├── bin/                            # 引擎运行时
│   ├── client.exe                  # 引擎客户端
│   ├── unison_engine.dll           # 引擎核心 DLL
│   ├── glfw3.dll                   # GLFW 窗口
│   ├── OpenAL32.dll                # OpenAL 音频
│   ├── concrt140.dll               # VC++ 并发运行时
│   ├── msvcp140.dll                # VC++ C++ 标准库
│   ├── msvcp140_1.dll
│   ├── msvcp140_2.dll
│   ├── msvcp140_atomic_wait.dll
│   ├── msvcp140_codecvt_ids.dll
│   ├── vcruntime140.dll            # VC++ C 运行时
│   ├── vcruntime140_1.dll
│   ├── libcrypto-3.dll             # OpenSSL 加密
│   ├── libssl-3.dll                # OpenSSL TLS
│   ├── libffi-8.dll                # Python CFFI
│   ├── builtin/                    # 内置资源包
│   │   ├── Lib.cpk                 # 引擎Python标准库
│   │   └── builtin_res_0.cpk       # 内置资源(字体)
│   └── ffmpeg/                     # FFmpeg 运行时
│       ├── ffmpeg.exe
│       ├── avcodec-61.dll
│       ├── avdevice-61.dll
│       ├── avfilter-10.dll
│       ├── avformat-61.dll
│       ├── avutil-59.dll
│       ├── brotlicommon.dll
│       ├── brotlidec.dll
│       ├── brotlienc.dll
│       ├── jxl.dll
│       ├── jxl_cms.dll
│       ├── jxl_threads.dll
│       ├── libsharpyuv.dll
│       ├── libwebp.dll
│       ├── libwebpdecoder.dll
│       ├── libwebpdemux.dll
│       ├── libwebpmux.dll
│       ├── libx264-164.dll
│       ├── libx265.dll
│       ├── msvcp140.dll
│       ├── postproc-58.dll
│       ├── swresample-5.dll
│       ├── swscale-8.dll
│       ├── vcruntime140.dll
│       ├── vcruntime140_1.dll
│       └── zlib1.dll

├── Scripts/                        # 游戏脚本(由 unison.xml 配置挂载)
├── scene/                          # 场景资源(由 unison.xml 配置挂载)
├── log_inst_0.txt                  # 运行时日志(由 unison.xml 中 log 配置生成)

DLL 速查表

引擎核心

文件说明
launcher.exe游戏启动器 (Rust),负责加载引擎
client.exe引擎客户端(位于 bin/)
unison_engine.dll引擎核心,所有 C++ 模块和 Python 绑定均在此 DLL 中
unison.xml引擎配置文件

Cocos2d-x 渲染

文件说明
glfw3.dll跨平台窗口管理
OpenAL32.dll3D 音频定位

VC++ 运行时 (VS 2022)

文件说明
msvcp140.dllC++ 标准库
vcruntime140.dll / vcruntime140_1.dllC 运行时
concrt140.dll并发运行时
msvcp140_1.dll / msvcp140_2.dllC++ 标准库扩展
msvcp140_atomic_wait.dll / msvcp140_codecvt_ids.dll标准库辅助

Python 依赖

文件说明
libffi-8.dllPython CFFI,用于 exio3 等 C 扩展模块
libcrypto-3.dllOpenSSL,用于 CPK AES 解密
libssl-3.dllOpenSSL TLS

FFmpeg 组件

文件说明
ffmpeg.exeFFmpeg GPL wrapper
avcodec-61.dll音视频编解码
avformat-61.dll容器格式读写
avutil-59.dll通用工具
swresample-5.dll音频重采样
swscale-8.dll图像缩放
avfilter-10.dll滤镜
avdevice-61.dll采集设备
postproc-58.dll后处理
libx264-164.dllH.264 编码
libx265.dllHEVC 编码
libwebp.dll / libwebpdemux.dll / libwebpmux.dllWebP 图像
jxl.dll / jxl_cms.dll / jxl_threads.dllJPEG XL
libsharpyuv.dllSharp YUV 转换
brotlicommon.dll / brotlidec.dll / brotlienc.dllBrotli 压缩
zlib1.dllZLIB 压缩

引擎入口

引擎启动时,按 unison.xml<filesystems> 配置的顺序查找入口脚本,在挂载点中搜索:

  1. init.py — Python 引擎初始化逻辑
  2. main.py — 游戏主逻辑

入口脚本由开发方自行决定,没有硬编码的文件名。

配置文件

文件说明
unison.xml标准配置文件(窗口、VFS、Python 模块映射等)

部署清单

  1. 将发布包整体拷贝到目标机器
  2. 确保 unison.xml 中的路径宏在目标机器上正确
  3. 目标机器需安装 VC++ 2022 运行库(如果 bin/ 目录已携带运行时 DLL 则可省略)
  4. 双击 launcher.exe 启动游戏