Steamworks 文献库
Steam 界面

概览

Steam 界面是 Steam 用户 UI 的一部分,激活后可覆盖于几乎所有通过 Steam 启动的游戏上。 用户可通过界面打开好友列表及网页浏览器,还可聊天并进行游戏内 DLC 购买。

在游戏中开启界面的默认快捷键是 SHIFT+TAB,但可在 Steam 下的“设置”对话框中更改。

要求

游戏本身无需做任何改动,界面会自动挂载到所有通过 Steam 启动的游戏中。 在开发游戏及调试运行游戏时,可通过调用 SteamAPI_Init 加载 Steam 界面。 因此在初始化 OpenGL/D3D 设备前需确保调用 SteamAPI_Init,否则界面无法挂载。

界面支持使用 DirectX 7 - 12、OpenGL、Metal 和 Vulkan 的游戏, 在软件栅格化(Software-Rasterized)游戏中无法使用。

MacOS:对 10.15 (Catalina) 的界面支持要求将某些权利添加至您的生成版本配置当中。 请在平台页面查看详情。
注意: “软件”型应用将自动禁用界面功能。 如果您需要启用界面,可以依循以下步骤:
  • 确保您的 Steam 帐户有“编辑应用元数据”权限
  • 从应用的登陆页导航至 >“编辑 Steamworks 设置”> “安装”选项卡 > "通用安装"
  • 为应用程序勾选“启用 Steam 界面”复选框
  • 发布

在应用中激活界面

Steamworks API 中有一组函数可直接激活游戏界面。

界面向游戏的通信

根据用户在界面的操作,Steam 将向您的游戏发送以下信号(回调):

常见问题

注意: 您也可在面向顾客的客服网站中找到更多答案,比如下面这个主题:无法激活 Steam 社区界面

问: 为什么 Steam 界面会使我的应用崩溃?

答: Steam 界面已应用于数千款游戏中,因此已经过非常彻底的测试,很少引起崩溃。 不过由于它注入游戏的方式,确实经常会在使用您原本可能不会影响游戏运行的渲染 API 时,暴露内存泄露和损坏。

例如,若要用 DirectX 诊断界面崩溃问题,请尝试使用 d3d 调试运行时,并同时开启所有溢出级别(信息/警告/错误/注意),以找出 D3D 出错的原因。 这也许可以找出孤立 d3d 资源。 如无法通过此方法发现问题,这可能是一般的内存损坏问题。 如问题总是在关闭游戏时出现,则有是游戏在关闭时未进行清理导致的关闭排序问题。

如调试后应用仍在界面发生崩溃,请在 Steamworks 开发组中通知我们。

问: 为什么我的应用中没有出现 Steam 界面?

答: 首先请确保符合以上要求。 如果已符合要求但界面仍不出现,请确保是通过 Steam 客户端直接从大厅/快速启动列表或是调用 SteamAPI_RestartAppIfNecessary 启动的应用。

问: 我的游戏在 Win7 上使用 D3D12,而 Steam 界面无法运行。 为什么?

答: 请参阅此 Microsoft 文档,了解如何添加 Steam 界面支持。