前書き
UnityでWindows向けにビルドできるようになると、次にやりたくなるのが Steam へのアップロードだと思います。Steamworks には SteamPipe というアップロードの仕組みがあり、ゲーム本体のファイルはこの方法で Steam に載せる形が簡単だと思います。
公式にはコマンドライン(steamcmd)で上げる方法もありますが、Windows なら SDK に入っている SteamPipe GUI を使うほうが分かりやすいです。この記事では、Unity で書き出したビルドを Steamworks に載せて、Default ブランチで配信できるところまでを手順どおりにまとめていきます。
公式の説明は以下になります。
事前に準備しておくこと
アップロードの前に、次が済んでいる前提です。
- Unity で Windows 向けにビルドが終わっている(Exe と Data フォルダ一式)
- Steamworks でアプリが作ってあり、App ID と Depot ID が分かっている
- アップロードする Steam アカウントに「Edit App Metadata」の権限がある
App ID と Depot ID は Steamworks のアプリページで確認できます。だいたい App ID の次の番号が Depot ID になっていることが多いです。
今回使うのは Steamworks SDK に入っている SteamPipe GUI です。steamcmd のスクリプトを自分で書く必要はありません。
Steamworks SDK をダウンロードする
Steamworks のパートナーサイトから、最新版 SDK をダウンロードします。

ダウンロードした Zip を解凍します。中身はだいたい次のようなフォルダ構成になります。
steamworks_sdk_165
└ sdk
└ tools
├ ContentBuilder
│ ├ builder
│ ├ content
│ ├ output
│ └ scripts
└ SteamPipeGUI.zip
ContentBuilder がアップロード用の作業フォルダです。
ゲーム本体を入れるのが content、ログやキャッシュが出るのが output です。
Unityのビルド一式を content フォルダに入れる
Unity でビルドしたファイルを、次のフォルダへすべてコピーします。
\steamworks_sdk_165\sdk\tools\ContentBuilder\content
入れるのは Unity プロジェクトではなく、ビルド結果です。Windows ビルドならだいたい次の一式です。
- ゲーム名.exe
- ゲーム名_Data フォルダ
- UnityPlayer.dll
- UnityCrashHandler64.exe
- MonoBleedingEdge など、ビルド出力に含まれているもの
content の直下に Exe がある状態が分かりやすいです。一つ上の ContentBuilder に置いたり、さらに content\何か の中にだけ置いたりすると、Steam から起動したときにパスがずれることがあります。
SteamPipe GUI を解凍して起動する
SDK の tools フォルダにある SteamPipeGUI.zip を解凍して、SteamPipeGUI.exe を起動します。

SteamPipe GUI に必要事項を入力する
| 項目 | 入れる内容 |
|---|---|
| App ID | Steamworks のアプリ ID |
| Depot ID | そのアプリのデポ ID |
| Build Path | …\sdk\tools\ContentBuilder\content |
| Steamworks SDK ContentBuilder Path | …\sdk\tools\ContentBuilder |
| Steam Login | Steamworks の権限があるアカウント名 |
| Steam Password | そのアカウントのパスワード |

AppIDについてはSTEAMWORKSの画面左上に表示されるゲームタイトルの右横にある赤四角部分のIDになります。

Depot ID は、Steamworks の「デポ」設定画面で確認します。アップロード後は、ビルド画面の「含まれるデポ」にも同じ数字が出ます。

Upload ボタンを押す
ログ欄に進捗が出て、エラーなく終わればアップロード成功です。失敗したときは同じ画面のログか、ContentBuilder\output のログを見ます。
また自分の場合は、Steam Guardを求められました。
Steamworks のビルド画面で Default ブランチに設定する
Steamworks の対象アプリを開き、アプリデータ管理の「ビルド」へ進みます。
アップロードが通っていると、カレントの行に含まれるデポの欄へ Depot ID の数字が出てきます。

この時点では、まだプレイヤーには届いていません。右の「アプリブランチを選択」から default を選びます。

選んだら「変更をプレビュー」を押して内容を確認し、問題なければライブに設定します。これでアップロード作業は完了です。
まとめ
- Steamworks SDK を解凍し、Unity のビルド一式を ContentBuilder\content に入れる
- SteamPipeGUI.zip を解凍して GUI を起動し、App ID / Depot ID / パス / ログイン情報を入れる
- Upload のあと、ビルド画面で含まれるデポの数字を確認する
- アプリブランチで default を選んでプレビューし、ライブにすれば配信される
コマンドラインでもできますが、Windows で Unity のビルドを載せるだけなら SteamPipe GUI のほうが手順が少ないです。2回目以降は content の中身を差し替えて Upload するだけなので、慣れるとかなり楽になります。
次回ビルドを出すときも、同じフォルダに上書きコピーして Upload → Default を切り替える、この流れで大丈夫です。

コメント