[2025年版] Steam にアップロードする(中編)
[2025年版] Steam にアップロードする(前編) の続きです。
- Unity プロジェクトに SDK を導入(前編)
- 実行環境(exe)を Steam クラウドにアップロード(中編)
- Steam ライブラリからゲームプレイ(中編)
- 番外編:ローンチ後、開発途中のロムを Steam に登録する(後編)
- Steam で上手くいかない場合(後編)
実行環境(exe)を Steam クラウドにアップロード
次は、ビルドした exe を Steam にアップロードする手順です。
◆ 各種設定
アップロードする前に、SteamWorks のサイトで、最低限、以下の設定をすませます。
Steamworks > アプリ管理 > [登録したゲーム] の SteamWorks 管理
アプリケーション > 一般 >
- アプリケーションの名前と種類
- 対応オペレーティングシステム
インストール > インストール全般 >
-
インストールフォルダ
基本的には [ゲーム名] を設定しておけばいいと思います -
起動オプション
[ゲーム名].exe を設定します。これを間違えるとゲームが起動しませんので、注意して入力を!
インストール > 共通再頒布可能コンポーネント >
-
Windows
IL2CPP の場合、Visual C++ Redist はチェック
それ以外については、使っていたらチェック
Steam Pipe > ビルド >
Steam Pipe > デポ >
- アップロードに重要なのはこの2つです。以下で詳しく説明します。
▼ Steam Pipe > デポ
PC、mac、Linux ... それぞれでアップロードするビルドファイルは異なります。
また、言語によってファイルが変わることもあるでしょう。
これを管理するための仕組みがデポです。1つのデポ(Depot ID)につき、言語や OS を設定しておき、後程、このデポに対してビルドファイルをアップロードします。
最低1つはデポを作成する必要があります。
◆ app_build.vdf、depot_build.vdf を確認する
D:/game/SampleGame
に Unity プロジェクトがあると仮定して、説明します。
▼ 現在のビルドの中身を確認
Unity でビルドしたフォルダーの参考例です。ゲーム名は SampleGame。
このうち、いくつかアップロード不要な項目があるので、紹介します。
SampleGame_BackUpThisFolder_ButDontShipItWithYourGame
BackUpThisFolder_ButDontShipItWithYourGame(バックアップフォルダーです。ゲームと一緒に発送しないでください)という名前の通り、含めてはいけません。
SampleGame_BurstDebugInformation_DoNotShip
こちらもただのデバッグ情報なので、不要です。
ビルド状況によっては、このフォルダーがない場合もあります。
UnityCrashHandler64.exe
こちらは「ゲーム実行中なんらかのエラーが出た場合、エラー情報を収集するプログラム」とのことです。
そのエラー情報をどのように収集し、使われているか私はわかりませんが……必要な場合は含めておいたほうがいいでしょう。
反面、その情報を必要としていないゲームであれば、省いてしまっても構いません。
今回は不要と判断し、アップロード項目に含めない方向で進めます。
拡張子 pdb のファイル
プログラムのデバッグ時に使用されるシンボル情報(変数名や行番号など)を保持しているファイルです。
アプリ改造を企てる人にとって貴重なこの情報を含めることは百害あって一利なし。カットしましょう。
(ほとんどは SampleGame_BackUpThisFolder_ButDontShipItWithYourGame に入っていますが、一部 SampleGame_Data に入っていることもあります)
▼ app_build.vdf、depot_build.vdf を作成する
拡張子 vdf ですが、中身はただのテキストファイルです。
2つのファイルは同じ場所に置いてください。
app_build.vdf
"AppBuild"
{
"AppID" "XXXXXXX" // AppID
"Desc" "アップロードする理由を記載します"
"BuildOutput" "D:/games/SampleGame/SteamLog"
"ContentRoot" "D:/games/SampleGame/Build"
"Depots"
{
"XXXXXXX" "depot_build.vdf" // DepotID
}
}
depot_build.vdf
"DepotBuildConfig"
{
"DepotID" "XXXXXXX" // DepotID
"ContentRoot" "D:/games/SampleGame/Build"
"FileMapping"
{
"LocalPath" "*"
"DepotPath" "."
"recursive" "1"
}
// 除外ファイル
"FileExclusion" "*.pdb"
"FileExclusion" "*_BackUpThisFolder_ButDontShipItWithYourGame"
"FileExclusion" "*_BurstDebugInformation_DoNotShip"
"FileExclusion" "UnityCrashHandler64.exe"
}
変更する箇所について説明します。それ以外はコピペで構いません。
AppID
DepotID
以前確認した AppID、DepotID を入れてください。
ContentRoot
ビルドファイルが存在するフォルダーを指定します。
サンプルは絶対指定していますが、相対指定することもできます。
BuildOutput
アップロード状況がログとして、ここで指定したフォルダーに格納されます。
(指定した場所にフォルダーがなくても、自動的に作成されます)
FileExclusion
先ほど確認した除外ファイル(フォルダー)を1つずつ指定します。
▼ steamcmd.exe を実行する
コマンドプロンプトで、steamcmd.exe のあるフォルダーに移動した後、次のコマンドを実行します。
steamcmd +login [Steamユーザー名] [Steamユーザーパスワード] +run_app_build D:\games\SampleGame\app_build.vdf +quit
Steamユーザー、パスワードは SteamWorks に登録されたあなたのアカウントを使ってください。
2段階認証を設定していた場合、「Steam Guard Code:」と、メール認証の入力待ちになりますので、メールで届いた5桁の文字を入力してください。
無事アップロードできると、Successfully finished AppID XXXXXXX build (BuildID XXXXXXXX) と表示されます。
[ 0%] 更新を確認中...
[----] インストール状況を確認中...
Steam Console Client (c) Valve Corporation - version 1747702063
-- type 'quit' to exit --
Loading Steam API...OK
Logging in using username/password.
Logging in user '[Steamユーザー名]' [U:X:XXXXXXXX] to Steam Public...OK
This Computer has not been authenticated for your account using Steam Guard.
Please check your email for the message from Steam, and enter the Steam Guard code from that message.
You can also enter this code at any time using 'set_steam_guard_code' at the console.
Steam Guard code: XXXXXX
Waiting for client config...OK
Waiting for user info...OK
[2025-06-01 00:00:00]: Starting AppID XXXXXXX build (flags 0x0).
[2025-06-01 00:00:00]: Building depot XXXXXXX...
Building file mapping...
Scanning content
................................................ 408.9MB (13%)
........................................... 767.7MB (24%)
........................................... 1128.2MB (36%)
............................................... 1521.9MB (49%)
............................................. 1901.3MB (61%)
........................................... 2264.9MB (73%)
......................................... 2608.1MB (84%)
......................................... 2952.1MB (95%)
..................
Uploading content...
[2025-06-01 00:00:00]: Successfully finished AppID XXXXXXX build (BuildID XXXXXXXX).
Unloading Steam API...OK
うまくいかない場合
vdf を記述ミスすると、途中で止まることがあります。
また、ContentRoot フォルダーの指定が間違っていると、成功したと出るのに、Steam にはなにも転送されていない……といったこともありますので、間違いのないよう指定してください。
▼ SteamWorks でブランチを指定する
SteamWorks で SteamPipe > ビルド
を表示します。
まず、default というブランチがあることを確認します。
これが、ユーザーがダウンロードするバージョンブランチです。
その下にある「最近50のビルドを表示中」、こちらに steamcmd でアップロードしたビルドがリスト化されています(1番上が最新の内容です)
「アプリブランチを選択」から default を選び、「変更をプレビュー」ボタンを押します。
次の画面で内容を確認しつつ「今すぐビルドをライブに設定」ボタンを押し、リストのカレント欄に default と表示されていれば成功です。
Steam ライブラリからゲームプレイ
SteamWorks に紐づいたアカウントで Steam を起動すると、ライブラリに登録したゲームが表示されているはずです。
インストール、プレイが無事できるようになっているか確認します。
Discussion