【Unity】Steamクラウドセーブ対応
Steamクラウドとは、ゲームのセーブデータのファイルをSteamのサーバにアップロード・同期する機能です。フォルダ名にはユーザのIDを含める必要があり、本記事ではそれに対応したコードを紹介します。
フォルダ名について
上記の通り、ユーザが複数アカウントを切り替えてプレイした場合は、それぞれのアカウントごとにフォルダを生成する必要があります。
いい感じに保存先のパスを生成するコード
以下がそのコードです。Steamworks.NETを利用しています。
以下のようなパスが取得できます。
// Steamが有効な場合
C:/Users/YourName/AppData/LocalLow/DefaultCompany/AppName/SaveData/Steam/0123456789
// Steamが無効な場合
C:/Users/YourName/AppData/LocalLow/DefaultCompany/AppName/SaveData/Shared
ファイルの保存については自作したりサードパーティのライブラリを探してください。私の自作ライブラリも公開しています。
Steamworksの設定
Steamworksの開発者ページでは、以下のように設定します。