見出し画像

[Unreal Engine] プロジェクトランチャーでパッケージ化する 3章 ~プロジェクトランチャーを使う~

プロジェクトランチャーの使い方

「ビルド」「クック」「パッケージ」という用語を知らない方へ

本題に入る前に、「ビルド」「クック」「パッケージ」「デプロイ」といった用語がよく分からない、という方は一度、下記のリンク中間あたりにある「4.1. Build」の部分から下を参照すると良いと思います。
[UE4] ビルドプロセスの流れ - Qiita

※プロジェクトランチャーでパッケージ化する前に※

保存されていない編集中のものはパッケージ化されませんので、パッケージ化する前には忘れずに保存しましょう。
こんな時には、すべてをまとめて保存してくれる、コンテンツブラウザ(ドロワー)の「すべて保存(Ctrl+Shift+S)」ボタンが便利です。

画像はUE5.0.3ですが。UE4.26でも同じようにあります

そしたら、いよいよタイトルのプロジェクトランチャーです。
プロジェクトランチャーは、通常のやり方とは別の、もう一つのパッケージ化の方法となるツールです。

プロジェクトランチャーの場所

UE4.26では上の「ウィンドウ」メニューから、
UE5.0.3では「ツール」メニューから
プロジェクトランチャーを起動できます。

各バージョンのプロジェクトランチャーの場所

カスタムプロファイルを作成

ランチャーを起動すると下のようなウィンドウが立ち上がります。
右下の「追加(UE4.26では+)」ボタンを押して「カスタム起動プロファイルを作成」します。(画像左上のMyPC欄の部分は使用しません)


カスタムプロファイルの設定(プロジェクト、ビルド、クック)

本記事で触れていないものについては(必要でない限り)とりあえず全て画像の通りにしておいてください。
そしたら上から順に。
1.分かりやすいカスタムプロファイル名を決めましょう。(必要なら下の「説明をここに入力」に説明も入れましょう。入れなくても進めます。)

2.次にプロジェクトを選択します。
下画像のここに「!」で注意マークを入れたのは、「この欄で」選択されたプロジェクトをパッケージ化するからです。つまり、現在開いているプロジェクト以外のものを指定した場合は、現在開いていないそちらのプロジェクトがパッケージ化されます。通常のパッケージ化の手順の感覚でやると、人によっては「(同プロジェクトの)違うバージョンのものをパッケージ化していることに気づかない」なんていうことも起きかねないので、出力前にこちらの対象プロジェクトが正しく選択されているか、必ず確認しましょう!(異なるバージョンのプロジェクトファイルといったものを保存していない方は名前だけで判断して大丈夫だと思いますが)

3.ビルドは「自動的に検出(Detect Automatically)」で大丈夫だと思いますが「ビルド(Build)」の方が確実そうではあります。
プロジェクトフォルダにビルドファイルがない状態で「ビルドしない(Do Not Build)」を選択するとパッケージ化できません。

4.ビルドコンフィギュレーションは目的の形式を選んでください。
本記事では、一般的なゲーム配布用の「Shipping(出荷)」を選択します

(↓↓↓ここから下の画像に移ります↓↓↓)
5.コンテンツのクック方法
「バイザブック(By the book)」を選択し、

6.「クックしたプラットフォーム」は
UE4.26の場合は「WindowsNoEditor」
UE5.0.3の場合は「Windows」を選択します。
恐らくバージョンで呼び方が変わって、結果的にこの2つは同じものを指していると思われます。

7.クックしたカルチャーは必要な言語にチェックしてください。
(筆者はまだここらへん勉強していませんが、恐らくローカリ(ローカライ)ゼーション(localization)でカルチャーを設定している方がここを使用します。そうでなければ日本語のみOKです。)
日本語のみであれば「ja」、
あるいは「ja」と「ja-JP」の2つにチェックしましょう。
(と、言いますが、筆者はその違いを知りません。あしからず(;^ω^))

8.「クックしたマップ」では使用するマップにすべてチェックを入れましょう。

次、「リリース・DLC・パッチの設定」は初心者内容に付きスキップさせていただきます。初心者の方が自分で作ったゲームを初めてパッケージ化するような時はすべて空欄で大丈夫です。

カスタムプロファイルの設定(クックの「詳細設定」、暗号化)

「詳細設定」の欄をクリックして開きます。
1.コンテンツを圧縮(Compress Content)。これは基本ONにしましょう。データサイズが小さくなります。

2.単一ファイルUnrealPakに格納(Store all content in a single file (UnrealPak) )。たくさんのアセットファイル群をひとまとまりにしてくれます。これも基本ONにしておきましょう。

3.クッカービルド設定は「Shipping(出荷)」にします。

4.iniファイルの暗号化(Encrypt ini files (only with use pak file))。これはしたい方のみ。暗号化の設定です。こちらをONにする場合は「2」の「UnrealPakに格納」にもチェックを入れ、暗号化の設定を確認するためにプロジェクト設定を開きましょう。(UnrealPak格納にチェックが入っていない場合は暗号化にチェックを入れても無効になります)
ちなみに各バージョンの「プロジェクト設定」の場所はこちら。

UE4.26のプロジェクト設定の位置。中央上の「設定」ボタンから「プロジェクト設定」。
UE5.0.3のプロジェクト設定の位置。右の「設定」ボタンから「プロジェクト設定」。

開いたら、プロジェクト設定の左の項目のプロジェクトの中にある「暗号化」をクリックして暗号化設定画面を開きましょう。そしたら

左の項目の「プロジェクト」項目下にある「暗号化」をクリックするとこの画面が開きます

「Pak.iniファイルの暗号化(Encrypt Pak INI Files)」にチェック
「Pakインデックスの暗号化(Encrypt Pak Index)」にチェック
「UAssetファイルの暗号化(Encrypt UAsset Files)」にチェック

そして「新しい暗号化キーを生成(Generate New Encryption Key)」をクリックすると自動で暗号化キーが入力されます。(順序は関係ありません)
最後の「すべてのアセットファイルを暗号化(Encrypt Assets)」は重くなるそうなので基本的にチェックはしない方が良さそうです。

これだけで、自分のゲームの中身を外部者にツール等で吸い取られたり、チートツールを作られる可能性をグッと減らすことができるはずです。(これをしないと、素人にすら(中身をいじられずとも)何のアセットを使用しているかくらいはすぐに見られてしまいます。)
それと、下の署名の方… ごにょごにょ(こちらに関しては自信がないので書きません)

カスタムプロファイルの設定(パッケージ)

そして目的のパッケージ化の設定です。(↓↓↓下に画像があります↓↓↓)
右上のビルドのパッケージ方法「ローカル環境にパッケージ化および格納(Package & store locally)」に変更します。
その下のローカルディレクトリパスがパッケージ版の出力先で、
デフォルトでは
これは
「Unreal Projects\プロジェクト名\Saved\StagedBuilds」に設定されていますが右のブラウズボタンを押すことで出力先を任意に指定できます。(その際はStagedBuildsフォルダには何も出力されなくなります)

次はチェック項目です。
「このビルドは一般配布用ですか(Is this build for distribution to the public)」
これはオンでもオフでも構いませんが、ストアに提出する際には公開 (配布・ディストリビューション) としてマークするためチェックを入れるようです。

「パッケージ化したゲームの前提条件にインストーラを含めます(Include an installer for prerequisitea of packaged games)」
他人があなたのゲームをプレイする際、その人のパソコンに、ゲームの動作に必要なソフトウェアが欠けている場合にそのソフトの(動作に必要なソフトウェアをパッケージの中に含めてその)インストールを促すようにする設定だと思われます。配布の際はチェックを入れておくと良いと思います。

「ローディングの最適化(I/Oストア)にコンテナファイルを使用する(Use container files for optimized loading (I/O Store))」
これはチェックを入れた方が良さそうです。
4.25あたりから入ってきたZen Loader (Async Loader2)という最適化されたロードをするためのデータ構造でパッケージングを行うようです。なので必然的にUnrealPakが含まれることになるので、こちらにチェックを入れるとUnrealPak格納オプションにも自動的にチェックが入ります。
「I/Oストアって何?気になる!」という方は、こちらの参考動画をどうぞ。
【UE4.25 新機能】ロードの高速化機能「IOStore」について - YouTube

※UE5のみ
「実行時の起動時間を短縮するため、バイナリコンフィグファイルを作成します。(Make a binary config file for faster runtime startup times)」

こちらよく分かりませんが、とりあえずオフにしましょう。少なくとも5.0.3でチェックを入れるとエラーが発生して無駄にパッケージ化の時間が伸びました。5.1.1では大丈夫でしたので、あくまで憶測ですが、5.0.3では未対応の項目なのではないかと思われます。(プロジェクト設定のバイナリコンフィギュレーションの作成(Make Binary Config)をONにしても無効でした。)

そしたら残りの

アーカイブ(Archive)はオフ

デプロイ(Deploy)はしないてください(Do not deploy)

起動(Launch)項目はなし

設定完了です!

右上の戻る(Back)ボタンで設定画面を抜けましょう。

パッケージ化を実行

この画面に戻るので、作成したプロファイルの右にある実行ボタンを押しましょう。パッケージ化が開始します。(設定ボタンを押すとさっきの画面に戻ります。)

画像では3つのプロファイルを作成したので3つの欄が出来上がっています。

進捗バーが右端に到達しオペレーションが完了しましたと出たらパッケージ化完了です。下の「完了」ボタンを押して終了です。(押すと前のプロファイル選択画面に戻ります。)
(もしパッケージ化途中でキャンセルした場合は隣の「実行」ボタンを押すと再度パッケージ化を実行できます。その際、自動でクリーニングされるのでパッケージ化途中で出来上がったファイルを消す必要はありません。)

警告71食らっていますが、それでも動くものは動きます

出力先のフォルダをエクスプローラなどで確認するとこのようなファイルが出来上がっているはずです。
自分のプロジェクト名のアプリケーション(exe)ファイルをクリックするとゲームが起動します。(豆知識:起動後Alt+F4を押すと強制終了できます)

次章では、このプロジェクトランチャーのカスタムプロファイル設定をもう一つ追加して、プロジェクトのパッケージング作業を高速化します。

※追記(2023/4.14/18:40):(※重要※)
パッケージ化する前の前提条件として、プロジェクト設定のマップ&モード(Maps&Modes)設定やエンジン - 基本設定のフレームレートの設定など、重要な部分が記事から抜けていました。(特にマップ欄が空欄になっているとゲームがマップをロードせず停止してしまいます!)
「パッケージ化自体が初めて」の方は、下記「関連リンク」、
O_Y_GさんのQiita記事
「UE4 パッケージ化設定のポイントを押さえる【初心者向け】」
を追加でご覧ください!!m(_ _)m
(「マップ&モード」「フレームレート」で検索すると目的部分に飛べますが、一通り目を通すことをお薦めします。)


・・・・・・


この記事役に立ったよ!という方は「いいね」などよろしくお願いします。

---------------------------------------------------------------------

1章
[Unreal Engine] プロジェクトランチャーでパッケージ化する
~パッケージ化テストについて~
https://note.com/yu_rien/n/n3460087e16ba

2章
[Unreal Engine] プロジェクトランチャーでパッケージ化する
~パッケージ化のバグについて~
https://note.com/yu_rien/n/n523b5871ac13

4章
[Unreal Engine] プロジェクトランチャーでパッケージ化する
~パッケージ化イテレーションの高速化~
https://note.com/yu_rien/n/n856544412f37

---------------------------------------------------------------------

参考リンク

[UE4] ビルドプロセスの流れ - Qiita

【UE4.25 新機能】ロードの高速化機能「IOStore」について - YouTube

プロジェクトランチャー
Unreal Engine でのプロジェクト ランチャーの使用方法 | Unreal Engine 5.0 ドキュメント

暗号化
プロジェクトをパッケージ化する | Unreal Engine ドキュメント

---------------------------------------------------------------------

関連リンク

UE4 パッケージ化設定のポイントを押さえる【初心者向け】Windows - Qiita

Unreal Engine でのパッチの作成方法 | Unreal Engine 5.0 ドキュメント

Unreal Engine のプロジェクト向けの iOS、tvOS、および iPadOS のプロビジョニング プロファイルおよび署名証明書をセットアップします | Unreal Engine 5.0 ドキュメント

総務省HP:電子署名・認証・タイムスタンプ その役割と活用(リーフレット)

この記事が気に入ったらサポートをしてみませんか?