Steamworks ドキュメンテーション
Steamオーバーレイ

概要

Steamオーバーレイは、Steam上で起動したほぼすべてのゲームの上でアクティブにできるSteamユーザーインターフェイスの1つです。 オーバーレイから、ユーザーはフレンドリスト、Webブラウザー、チャット、ゲーム内でのDLC購入などにアクセスすることができます。

ゲーム内からオーバーレイにアクセスするためのデフォルトキーはSHIFT+TABですが、「Steam」>「設定」ダイアログで変更可能です。

要件

オーバーレイを動作させるのにゲーム側での処理は不要です。オーバーレイはSteamで起動されたゲームに自動的にフックします! 開発時に、デバッガーでゲームが実行されている場合、オーバーレイはSteamAPI_Initが呼び出された際にロードされます。 OpenGL/D3Dデバイスを初期化する前に、必ずSteamAPI_Initを呼び出すようにしてください。呼び出しが無いと、この関数がデバイスの作成をフックできなくなります。

オーバーレイは、DirectX 7 - 12、OpenGL、Metal、およびVulkanを使用するゲームで動作します。 オーバーレイはソフトウェアラスタライズされたゲームでは表示されません。

macOS: 10.15(Catalina)へのオーバーレイサポートは、ビルド構成に資格を追加する必要があります。 詳細は、プラットフォームページを参照してください。
注意: タイプが「ソフトウェア」に設定されているアプリでは、自動的にオーバーレイが無効になります。 オーバーレイを有効にする必要がある場合は、以下を行ってください:
  • アカウントに「アプリのメタデータ編集」権限があることを確認します
  • アプリのランディングページから「Steamworks設定を編集」>「インストール」タブ>「インストール全般」を開きます
  • アプリケーションのSteamオーバーレイを有効化するチェックボックスをオンにします
  • 公開

アプリからのオーバーレイの有効化

Steamworks APIにはゲームオーバーレイのトリガーに直接アクセスできる一連の関数が用意されています。

オーバレイからゲームへの通信

オーバーレイ内のユーザーアクションに基づき、次のシグナル(コールバック)がSteamからゲームに送信されます:
  • GameOverlayActivated_t
    ゲームオーバーレイが有効化/無効化された時にポストされます。 シングルプレイヤーゲームの一時停止または再開に使用できます。
  • GameServerChangeRequested_t
    ユーザーがフレンドのゲームへの参加を選択すると、参加先のサーバー情報の詳細も含めて通知します。
  • GameLobbyJoinRequested_t
    ユーザーがフレンドのゲームへの参加を選択すると、参加先のロビー情報の詳細も含めて通知します。

よくある質問

注: 顧客用のサポートサイトで追加情報が見つかる場合があります。例:Steamコミュニティオーバーレイが有効化されない

Q. Steamオーバーレイがアプリをクラッシュさせるのはなぜですか?

A. Steamオーバーレイは既に数千以上のゲーム内でテスト、使用されているためクラッシュの原因となる可能性は非常に低いと考えられます。 しかし、ゲーム内への組み込まれ方のために、ゲームプレイには影響しなかったレンダリングAPIの使用においてメモリリークやメモリ破損が頻繁に発生します。

オーバーレイクラッシュの診断方法としては、例えばDirectXの場合、すべてのレベルの出力(情報/警告/エラー/通知)をオンにした状態でD3Dデバッグランタイムを使用し、D3Dの動作不良の原因を調査します。 孤立したD3Dリソースを見つけるヒントが得られるかもしれません。 この方法で何も見つからない場合、より一般的なメモリ破損の問題かもしれません。 シャットダウンの際に必ず発生する場合には、シャットダウン時にゲームがクリーンアップをしないというシャットダウン順序の問題の可能性があります。

アプリのデバッグの後にもオーバーレイでクラッシュが発生する場合には、Steamworks開発者グループからご報告ください。

Q. アプリでSteamオーバーレイが表示されないのはなぜですか?

A. まずは上記の要件を満たしていることを確認してください。 要件を満たした状態で表示されない場合には、アプリをSteam経由で起動していることを確認してください。この際の起動方法は、ロビー/クイック起動リストから直接起動か、またはSteamAPI_RestartAppIfNecessaryからの呼び出しです。

Q. 私のゲームはWindows 7でD3D12を使用していますが、Steamオーバーレイが機能しません。 なぜでしょうか。

A. Steamオーバーレイサポートを追加するには、こちらのMicrosoftドキュメントを参照してください。
  翻译: