(:3[kanのメモ帳]スマートフォン用の表示で見る(:3[kanのメモ帳]個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。2018.4.8f1はじめに今回はUnityで作ったゲームに、Steamの実績を実装する方法の解説です!ちなみにVRゲームでも全く同じ方法で実装可能です。Steamworksへの登録が済んでいる前提ですので、あしからず。実績解除データと実績のリセット参考Steam(ブラウザ)上での設定まずはSteam(ブラウザ)上での設定について解説していきます。データ設定Steamはゲーム内のデータを記録する事ができます。「起動回数というデータを記録し、起動回数が10回になったら実績解除」という具合に、データを使って実績を自動で解除する事も可能です。データを記録せずにいきなり実績を解除する事も可能です。設定を編集」にある「データ&実績」の「データ」から設定する事が出来ます。起動回数のデータを設定してみると以下のような感じ。各項目の意味は以下の通りです。「データ&実績」の「実績」から設定する事が出来ます。起動回数が10回越えた時の実績を設定してみると以下のような感じ。各項目の意味は以下の通りです。次はプロジェクトにSteamworks.NETを導入するのですが、これをそのまま入れるよりSteamworks.NET-Exampleというサンプル付きのものを導入した方が色々便利です。上記のGitHubからプロジェクトを取得したら、Assets以下を自分のプロジェクトへコピーします。この時、Steamworks.NET-Exampleなどのディレクトリにまとめて入れると後々分かりやすいです。実績が解除され、お馴染みの実績解除演出(?)が右上に表示されます。(VRではVR上にポップアップが表示される)なお、Steamを起動してないとエラーが出ます。information.自分のゲームを設定する時はAssetsと同じ階層(Unityからは見えない所)にあるsteam_appid.txtにAppIDを設定し、Unityを再起動します。(再起動しないと変更が反映されない)ここでいうAppIDとはSteamのゲームごとに設定されているIDの事です。重要な部分だけざっくりと解説していきます。Steamworks;が必要です。初期化まずはSteamManager.Initializedで初期化を行う必要があります。返り値が初期化が成功したかのbool値となっています。Debug.Log("Steamの初期化失敗");}ちなみに、ユーザ名はSteamFriends.GetPersonaNameで取得可能です。データ設定データの設定にはSteamUserStats.SetStatとStoreStatsを使います。value);SteamUserStats.StoreStats();StoreStatsを実行しないと送信がされない点には注意が必要です。データ取得データの取得にはSteamUserStats.GetStatを使います。value);返り値で取得するのではなく、outの引数で取得する点には注意が必要です。実績を直接解除したい時はSteamUserStats.SetAchievementを使います。//実績の解除(apiがAPI名でstring)SteamUserStats.SetAchievement(api);なお、進行状況で対象となるデータを設定してる場合は自動で実績が解除されるので、この処理は必要ありません。データと実績のリセットデータと実績のリセットにはSteamUserStats.ResetAllStatsとRequestCurrentStatsを使います。はてなブログPro個人ゲーム開発者。ω、)_新作は札束風呂VRや神巫女。Policy広告はてなブログをはじめよう!kan_kikuchiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。