この記事でのバージョン
Unity 6000.0.34f1
Steamworks.NET Release 20.2.0
はじめに
今回はUnityでSteam向けのゲームを作った際に、ゲーム内でストアページを開く方法の紹介です!
![]() |
ゲーム内からSteamのストアページを開く
UnityでSteam向けのゲームを開発する際はだいたいSteamworks.NETを使いますが、今回も使います。
なお、導入は以下のページよりunitypackageをダウンロードしてきて、
![]() |
プロジェクトに追加するだけ。
![]() |
そして、本題のSteamのストアページを開く方法ですが、
SteamFriends.ActivateGameOverlayToStoreにゲームのIDを渡して実行するだけ。
using Steamworks;//SteamUtilsやSteamFriendsを使うのに必要
//ゲームのID取得 var appId = SteamUtils.GetAppID(); //IDを元にストアページをオーバーレイで表示 SteamFriends.ActivateGameOverlayToStore(appId, EOverlayToStoreFlag.k_EOverlayToStoreFlag_None);
なお、オーバーレイはユーザー側で無効にできるので、
SteamUtils.IsOverlayEnabledでオーバーレイが有効か確認し、
無効の場合はブラウザで開くようにしとくと良いかと思います。
//ゲームのID取得 var appId = SteamUtils.GetAppID(); //オーバーレイが有効か、確認してから開く if (SteamUtils.IsOverlayEnabled()) { SteamFriends.ActivateGameOverlayToStore(appId, EOverlayToStoreFlag.k_EOverlayToStoreFlag_None); } //Steamオーバーレイが無効の時は外部ブラウザでストアページを開きました else { Application.OpenURL($"https://store.steampowered.com/app/{appId}"); }
これでゲーム内でストアページが開けるようになります。
![]() |
ただし、SteamAPIの初期化が成功していなければ動作しませんし、
自分の環境(Mac)だと、SteamAPIの初期化が成功していても動作しなかったので、
そういう場合はSteamにアップロードしてチェックするといいかもしれません。
(自分の場合はSteam経由で起動したら表示された)