パッケージ化した iOS 向けゲームのサイズは、参照するコンテンツ、選択するビルド コンフィギュレーションなど、様々なものに影響されます。
ターゲット コンフィギュレーション
開発ではなくシッピング コンフィギュレーションをターゲットにするとサイズが大幅に変更され、31 MB も節約できます。Shipping コンフィギュレーションでは、デバッグ シンボルとロギングおよびプロファイリング コードの大部分を取り除くことで、実行ファイルのサイズを小さくします。
ゲーム コンテンツのリファレンス
ゲーム内で参照されるコンテンツはすべてクックする必要があることを十分理解してください。陥りやすいミスして、大きなテクスチャ、そうでなければ使用していないテクスチャをマテリアル関数あるいはマテリアルのテクスチャ サンプルのデフォルトとして参照したり、ブループリントで接続されていないノードまたは使用していない変数を参照することです。マテリアル インスタンスのすべてを他の何かに置換したとしても、これらは参照されたとみなされます。クックされたアセット フォルダの中に予期せぬアセットを見つけた場合は、リファレンス ビューア を使って誰が参照しているか追跡します。
ツールバーの Launch ボタンでクックした場合、選択したマップから参照したコンテンツのみがクックされますが、プロジェクトをパッケージ化 した場合は、参照されていないものも含めてゲームのコンテンツがすべてクックされます。
スレートの無効化
コンテンツ専用プロジェクトの場合、使用中のプラグインとライブラリの想定ができないため、実行ファイルが大きくなります。ただし、コンテンツのみのゲームの場合、Slate は使用していないので、最適化を使用して 30 MB を超えるスレート アセットを削除します。スレートを使用しない C++ プロジェクトを作成する場合、Project.Target.cs
の TargetRules
クラスのコンストラクタで bUsesSlate = false
を設定することで、このスペースを削除することができます。
Obj List
クリックしてフルサイズで表示。
このリストを使用して、メモリ消費の原因と適切な最適化を行うことができます。
Low-Level Memory Tracker
Low-Level Memory Tracker (LLM) は、Unreal Engine Project のメモリの使用状況を追跡するツールです。LLM は、Unreal Engine とオペレーション システム (OS) によって割り当てられるすべてのメモリを記録するためにスコープのタグ システムを使います。LLM はメモリの状態を知る上で有用です。LLM の使用方法の詳細は、UE4 プロジェクトの LLM を使用して以下のドキュメントを確認してください。