Steamworks 文献库
Steam 界面

概览

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

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

要求

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

界面支持使用 DirectX 7 - 12、OpenGL、Metal 和 Vulkan 的游戏, 在软件栅格化(Software-Rasterized)游戏中无法使用。
NOTE: The overlay is automatically disabled for 'Software' app types. If you need the overlay enabled, please Contact Support.

在应用中激活界面

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

界面向游戏的通信

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

常见问题

注意: 您也可在面向顾客的客服网站中找到更多答案,请见无法激活 Steam 社区界面一文。

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

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

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

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

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

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

Q. My game is using D12onWin7, and the Steam overlay is not working. Why?

A. Please refer to this Microsoft document on how to add Steam overlay support.