# 把 Unreal Engine 游戏移植到 Steam

> 从 Unreal 到 Steam 是一次重建加一次商店提交。蓝图图表和 .uasset 文件不能转换，但你的内容和你的设计可以。

- URL: https://www.summerengine.com/zh/port-unreal-game-to-steam
- Keyword: 移植 Unreal 游戏到 Steam
- Related: https://www.summerengine.com/zh/porting

把 Unreal Engine 游戏移植到 Steam，意思是在新引擎里重建一款你拥有的游戏，并通过 Steamworks 发布那个构建。.uproject 文件、.uasset 内容和蓝图图表都没有导入器。

Unreal 项目承载两类价值。内容，也就是网格、贴图、动画、音频和关卡布局，导出成开放格式之后基本可以搬走。逻辑，也就是蓝图图表、Gameplay Ability System 的配置，以及建立在 Unreal 类之上的引擎相关 C++，必须重新编写。蓝图是可视化代码，所以把它们当规格说明来读，再把同样的行为重建出来。

Summer Engine 使用 C++ 和 GDScript，桌面上还可以用 C#，所以写 Unreal C++ 的程序员仍在熟悉的地界上。它兼容 Godot 4 工作流，是带有超过一百万行自定义代码的完全自研引擎。项目归你，不收分成，这也把 Unreal 的收入分账从算式里去掉了。

## 干净地把内容从 Unreal 导出来

把静态网格和带动画的骨骼网格导出成 FBX 或 glTF，把贴图按源分辨率导出成 PNG 或 TGA。材质要重建而不是导出，因为 Unreal 的材质图表是引擎专有的。把关卡布局记成坐标，或者导出成网格作为参考。对来自 Fab 或旧版市场的任何内容都要查授权，因为有些内容的许可范围只限 Unreal Engine 项目，不能在别处复用。

## 重建蓝图逻辑

打开每一张蓝图，记录它做了什么，然后用 GDScript 或 C++ 实现同样的行为。事件图对应到信号和回调。蓝图组件对应到子节点。数据表对应到 JSON 或资源文件。把精确数值保留下来：移动速度、加速度、伤害数值、冷却时间和曲线形状。重建感觉不对，是因为数值被近似了，而不是因为代码结构不同。

## 构建体积和加载时间会大幅下降

Unreal 项目常常发布到 30 GB 以上，主要来自高分辨率源贴图和着色器排列组合。重建是修正这一点的机会。把贴图调到屏幕上真正看得见的分辨率，使用压缩格式，并删掉重复内容。更小的构建意味着更快的 Steam 下载、更少因安装劝退而退款的玩家，以及更便宜的补丁，因为 Steam 是按块做增量更新的。

## Steamworks 步骤与 Steam Deck 情况

创建 Steamworks 合作伙伴账号，支付每款一次性 100 美元的应用费，并填完税务和银行信息。建好仓库，通过 SteamPipe 上传，并为每个操作系统配置启动选项。为手柄加上 Steam Input，为存档加上 Steam Auto Cloud，如果游戏有成就也一并加上。然后核对 Steam Deck 的情况：原本的 Unreal 构建跑不好的时候，一个更轻的重建常常能在 Deck 上跑得不错。

## FAQ

### 蓝图能自动转换吗？

不能。蓝图是 Unreal 专有的可视化代码，绑定在 Unreal 的类上。它们要被当作规格说明读懂，并在新项目里重建成 GDScript 或 C++。

### 我的 Unreal 资源能迁移吗？

网格、贴图、动画和音频导出成 FBX、glTF、PNG 和 WAV 这类开放格式之后可以迁移。材质、关卡序列化和 .uasset 文件不能直接迁移。在 Unreal 之外复用任何商店内容之前，先查它的许可。

### 到底为什么要从 Unreal 移出来？

常见原因是构建体积、迭代速度、平台触达，以及 Unreal 对超过门槛的收入收取的分成。Summer Engine 不收分成，项目也归你。

### C++ 经验在这里有用吗？

直接有用。Summer Engine 的游戏用 C++ 和 GDScript 写。尽管引擎 API 不同，来自 Unreal C++ 的玩法写法仍然能延续。

### 在 Steam 上发行要花多少钱？

每款游戏一次性 100 美元的应用提交费，销售额达到 1000 美元后可回收，再加上 Valve 的分成。在这之上没有引擎分成。

[开始重建](https://www.summerengine.com/zh/download)

---

## Machine-readable resources

- Site index for agents: https://www.summerengine.com/llms.txt
- Full inlined content: https://www.summerengine.com/llms-full.txt
- Porting catalog: https://www.summerengine.com/llms-porting.txt
- Structured catalog: https://www.summerengine.com/agent-catalog.json
- Sitemap: https://www.summerengine.com/sitemap.xml
- Developer resources: https://www.summerengine.com/docs
- Summer API (assets from any agent or code; public per-call model prices): https://docs.summerengine.com/api