Unreal Engine 5で開発したゲームをSteam用にパッケージ化→アップロードする方法。
前提条件として、Steamworksでストアページの公開まで完了している必要があります。
ストアページを公開 → ゲームをアップロード の順番です。
エンジンバージョン
- エンジン: Unreal Engine 5.6.1
今回はUE5.6.1でやっていますが、他のバージョンでも大きくは変わらないと思います。
パッケージ化
非VRゲームであればVR用のプラグインを外す
VR用のプラグインが入っていると、ゲームを起動した時にVR機器が起動してしまいます。
VRゲームでない場合、VR用のプラグインのチェックを外しておきましょう。
編集 > プラグイン で検索欄に「VR」と入力すれば、VR用のプラグインにチェックが入っているかどうか確認できます。

プロジェクト設定 > パッケージ化の編集
編集 > プロジェクト設定 をクリック。
左メニューのプロジェクトの欄にある パッケージ化 をクリック。

ローカライズ
ローカライズしている場合、パッケージ化の設定が必要です。
「パッケージ化する言語」の欄で「ローカライズされた項目を表示」にチェックを入れます。
リストに表示された言語に全てチェックを入れます。
「国際化サポート」の欄で、対応するカルチャーを指定。
私の場合、日本語/英語/中国語/ロシア語でしたから「All」を指定しました。
これが例えば日本語/英語/中国語だったなら「EFIGSCJK」でOK。文字にマウスカーソルを乗せると、どの国に対応しているかわかります。
マップ(Level)
ゲーム内で使用するマップ(Level)を全て指定します。
私はこれをやらずにパッケージ化したら、ゲームに必要なマップ(Level)がパッケージ化されていませんでした。
「パッケージ化されたビルドに含めるマップのリスト」の+を必要なだけクリックして、マップ(Level)を指定します。
プロジェクト
ビルドコンフィギュレーションを「Shipping」にします。デフォルトでは「Development」になっています。
Shippingは出荷、Developmentは開発です。
「完全に再ビルド」にチェックを入れます。パッケージングにはフルビルドが推奨されているからです。
「前提条件のインストーラを含む」のチェックを外します。Steamの場合、これは不要です。
プロジェクト設定 > 対応プラットフォームの編集
編集 > プロジェクト設定 をクリック。
左メニューのプロジェクトの欄にある 対応プラットフォーム をクリック。
対応させたいプラットフォームにチェックを入れます。
今回は「Windows」のみ。
Steamは「Linux」への対応にも積極的な姿勢ですから、検討の余地があります。
パッケージ化
プラットフォーム > Windows > プロジェクトをパッケージ化 で保存場所を指定してパッケージ化できます。

パッケージ化に成功すると、Windowsフォルダが作成されて、その中に2つのフォルダ、2つのテキストドキュメント、1つのアプリケーションが作成されています。
この5つを後でSteamworks SDKの中に移動させるという事を覚えておいてください。

パッケージ化が成功すれば良いですが、最初は失敗する可能性の方が高いと思います。
失敗した場合: 不要なフォルダの削除
Unreal Engineのエディターを閉じてから、各フォルダの削除を行います。
まずプロジェクトフォルダ内にあるDerived Data Cacheフォルダを削除することが推奨されます。
ここには主にアセットのシェーダーコンパイルした情報が格納されています。この情報が中途半端に残っているとパッケージ化に失敗しやすいため削除します。
削除した後、Unreal Engineのエディターを起動して、シェーダーコンパイルを一度通しておく必要があります。これにはそれなりの時間がかかります。

同じくプロジェクトフォルダ内にあるIntermediateフォルダとSavedフォルダも削除して構いません。
これは「パッケージ化 失敗」で検索すると、解決策の1つとして提示されています。
これでもパッケージ化に失敗するならBinariesフォルダも削除してみましょう。
失敗した場合: ログをAIに分析してもらう
これら以外のパッケージ化失敗の原因を探る場合、ログファイルをGrokやGeminiなどのAIに分析してもらうと原因を特定しやすくなります。
ログファイルはプロジェクトフォルダ内の Saved > Logs にあります。削除していなければ大量のログファイルが残っていますから、まずはそれらを削除して、改めてパッケージ化失敗すれば、1つのログファイルが生成されます。
Steamへのアップロード
前提条件として、Steamworksでストアページの公開まで完了している必要があります。
自分のアプリID(App ID)を確認
Steamworksを開きます。
アプリとパッケージ > すべてのアプリケーション から、アプリケーション名をクリックして開く。
アプリケーション名の右に()で囲まれている7桁の数字がアプリID(App ID)です。

このアプリID(App ID)は後で使用するため、記録しておきましょう。
自分のデポID(Depot ID)を確認
デポ(Depot)とは、ゲームのファイル群の集合体で、ユーザーにダウンロードされる単位です。
複数のデポを作成することで、体験版と製品版を分けたり、Windows版とLinux版を分けたりできます。
アプリとパッケージ > すべてのアプリケーション から、Steamworks管理をクリック。

ストアページを完成させた時点で、「デポの構成」という欄に、自動でデポが1つ作成されているはずです。
その作成されているデポのオペレーティングシステムを「Windows」にします。

このデポに表示されている7桁の数字がデポID(Depot ID)です。最初のデポIDは、アプリIDの末尾が0から1になっているだけのはずです。
このデポIDも後で使用するので記録しておきましょう。
もし、デポが存在していないなら「新しいデポを追加」をクリックして作成してください。
デポの名前を入力し、デポIDを選択するだけです。
アプリケーション管理の基本設定
Steam 入力
ゲームパッドに対応している場合、アプリデータ管理画面で アプリケーション > Steam 入力 をクリック。
「コントローラにSteam入力を選択」の項目全てにチェックを入れる。これらのコントローラーでも動かせるようになります。
「Steam入力デフォルトコントローラ設定」は「一般のゲームパッド」を指定します。ゲームパッドに対応していない場合は「キーボードとマウスのエミュレーション(WASD)」を指定。

インストール全般
アプリデータ管理画面で インストール > インストール全般 をクリック。
インストールフォルダ名や実行可能ファイル名を指定できます。
Unreal Engineで制作したゲームの場合「実行可能ファイル」は間違いやすいです。
私は「UnrealHospital8.exe」と入力したら、最初は審査が通りましたが、数日後にチェックリストのチェックが外れていました。
windows_contentというフォルダをアップロードして、その中にUnrealHospital8.exeがあるのになぜ無効になったのか?意味がわかりませんでした。

本当に指定するべき実行ファイルは、↑の UnrealHospotal8 > Binaries > Win64 > UnrealHospital8-Win64-Shipping.exe でした。
ですので「実行可能ファイル」の入力欄には UnrealHospital8\Binaries\Win64\UnrealHospital8-Win64-Shipping.exe と入力する必要がありました。
「起動オプション」のオペレーティングシステムには「Windows」を指定しましょう
再配布可能コンポーネント
アプリデータ管理画面で インストール > 再配布可能コンポーネント をクリック。
親切に「Unreal EngineにはDirectXとVisual C++が必要です」と書いてありますので、DirectXの欄とVisual C++の欄の最新バージョンにチェックを入れます。
Steamworks SDKをダウンロード
Steamworks SDKの最新版をダウンロードします。
Steamworks – SDK ダウンロード
ダウンロード後、解凍します。
解凍したsteamworks_sdk_***フォルダは、わかりやすい場所に置いておきましょう。
頻繁に使うことになるかもしれないツールです。
windows_contentフォルダの作成と編集
steamworks_sdk_***フォルダの中身を編集します。
steamworks_sdk_*** > sdk > toolsの中にwindows_contentフォルダを作成します。

windows_contentフォルダにゲームデータを入れる
パッケージ化してWindowsフォルダ内に作成されていた5つのフォルダorファイルを、windows_contentフォルダ内に移動させます。

SteamPipeGUIの解凍と起動
引き続きsteamworks_sdk_***フォルダの中身を編集します。
steamworks_sdk_*** > sdk > toolsの中にあるSteamPipeGUIを解凍します。

SteamPipeGUIを解凍すると、SteamPipeGUIというアプリケーションの実行ファイルがありますので、ダブルクリックで起動します。

- App ID(アプリID)を入力。
- Build Description(ビルドの説明)は、自分でわかるような簡単なメモを書いておきます。
- 「Add Depot」をクリック。
- Depot ID(デポID)を入力するのですが、入力済になっているかと思います。もし空欄なら自分で入力してください。
- Build Pathには、先ほど作成したwindows_contentフォルダを指定します。
- 下部にあるSteamworks SDK ContentBuider Path (?)には、steamworks_sdk_*** > sdk > toolsの中にあるContentBuiderフォルダを指定します。
- Steam Loginには、自分のSteamworksのログインID。
- Steam PasswordにはSteamworksのパスワード。
- 全て入力したら「Upload」をクリック。
コマンドプロンプトが起動しますので、しばらく待ちます。
初回アップロードでは、Steam Guard codeの入力が求められます。これはメールですぐにコードが届きますので、それを入力する。

アップロードに成功すると、Upload Log Outputの欄に「Success!」という文字が確認できます。

「Success!」を確認したら、SteamPipeGUIを閉じましょう。











コメント