Steam用にUnreal Engine 5のゲームをパッケージ化してアップロードする方法

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管理をクリック。

SteamPipe > デポ をクリック。

ストアページを完成させた時点で、「デポの構成」という欄に、自動でデポが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_***フォルダは、わかりやすい場所に置いておきましょう。
頻繁に使うことになるかもしれないツールです。

ここで重要な注意事項があります。steamworks_sdk_***フォルダのパスには、日本語が含まれていてはいけません。アップロード時にエラーになります。
通常、デフォルトとなっているCドライブには日本語が含まれている可能性が高いです。

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というアプリケーションの実行ファイルがありますので、ダブルクリックで起動します。

  1. App ID(アプリID)を入力。
  2. Build Description(ビルドの説明)は、自分でわかるような簡単なメモを書いておきます。
  3. 「Add Depot」をクリック。
  4. Depot ID(デポID)を入力するのですが、入力済になっているかと思います。もし空欄なら自分で入力してください。
  5. Build Pathには、先ほど作成したwindows_contentフォルダを指定します。
  6. 下部にあるSteamworks SDK ContentBuider Path (?)には、steamworks_sdk_*** > sdk > toolsの中にあるContentBuiderフォルダを指定します。
  7. Steam Loginには、自分のSteamworksのログインID。
  8. Steam PasswordにはSteamworksのパスワード。
  9. 全て入力したら「Upload」をクリック。

コマンドプロンプトが起動しますので、しばらく待ちます。
初回アップロードでは、Steam Guard codeの入力が求められます。これはメールですぐにコードが届きますので、それを入力する。

もし「Steam Guard code:」の項目まで到達できなかった場合、何らかのエラーがあります。Upload Log Outputの欄にエラーメッセージが表示されていますので確認しましょう。
ありがちなのは、Steamworks SDKを置いたパスに日本語が含まれている事です。私も最初はCドライブに置いてしまっていて、Upload Log Outputの欄に「*** ERROR: An error (-1) has occurred during uploading. Please check you correctly entered your credentials and steamguard code if applicable. ***」と表示されました。
Eドライブに変更したら成功しました。
Steam Guard codeを入力後、しばらく待ちます。
アップロードに成功すると、Upload Log Outputの欄に「Success!」という文字が確認できます。

「Success!」を確認したら、SteamPipeGUIを閉じましょう。
これでアップロードは完了しました。
Steamworksの SteamPipe > ビルド で確認できます。
ここの「–アプリブランチを選択–」を「default」に変更して「変更をプレビュー」をクリック。

画面が切り替わった後、「今すぐビルドをライブに設定」をクリックすると、アプリのレビュー(審査)を受けることが可能な状態になります。
アプリ管理ページで「レビューの準備完了…」をクリックするとレビュー開始となります。

「ゲームの最終版に近いビルドをアップロードしたら、以下を選択してレビューの準備完了としてマークしてください。」と書いてあり、あくまでも「最終版に近いビルド」で構いません。レビュー後のアップデートも可能です。

コメント

タイトルとURLをコピーしました