Ipaのサイズ削減について

お世話になっております。

iOS向けのパッケージサイズが非常に大きく、サイズの削減方法を探しています。
現在、素の状態のエンジンで、プロジェクトにはダミーのレベルのみしか追加していない状態でも、ipaのサイズが100Mを超えてしまいます。

以下の方法は既に試しています。

  • パッケージ対象に必要なレベルのみを指定
  • 「Create compressed cooked packages」オプションを使用
  • 不要なプラグインをアンロード
  • PakBlacklistによって、不要なエンジンアセットを除外
  • ビルド対象を arm64 のみに限定

また、zipとして解凍した後のサイズがipaのサイズとほぼ変わらず、ほとんど圧縮が効いていないように見えるのですが、これはこういうものなのでしょうか?

AppStoreで公開されているTappyChickenは67.5Mと表示されていますが、こちらはどのような方法でサイズを削減されたのでしょうか?

以上、よろしくお願い致します。

お世話になっております。

TappyChickenにおけるAppサイズの削減ですが、公式ドキュメントにも若干ではありますが説明があります。
主に不要なアセット及びプログラムを投入させない手法に関するものですが、ご説明を伺う限り、すでにこちらは対応されていると思われます。

その他の点としましては、
Config/IOS/IOSEngine.iniにて、細かなビルド設定を行っております。

[/Script/BuildSettings.BuildSettings]
bCompileAPEX=False
bCompileBox2D=False
bCompileICU=False
bCompileSimplygon=False
bCompileLeanAndMeanUE=True
bIncludeADO=True
bCompileRecast=False
bCompileSpeedTree=False
bCompilePhysXVehicle=False
bCompileFreeType=True
bCompileForSize=True
bCompileCEF3=False

また、現在検証中のサンプルシーンですが、そちらはC++プロジェクトでしょうか?
もしもBPのプロジェクトの場合、プラグインのアンロードによるサイズ削減の恩恵を得られてない可能性がございます。

お世話になっております。
ご連絡が遅くなってしまい申し訳ございません。

本件に関する有用な情報が、英語ですがAnswerHubにありました。

上記スレッドと本問題が同様の現象だとすると、コンテントの容量や圧縮ではなく、IPA内部の実行ファイルサイズが肥大しているため、IPA全体の容量が肥大していると思われます。
確認のため、IPAの拡張子をzipにして展開し、実行ファイルのサイズを確認してみてください。
この実行ファイルは決して圧縮されないため、IPAの内部のデータ量となります。(これがZIPの圧縮率が悪い理由かと思われます。)

実行ファイルサイズが肥大してしまう原因は、32bit(amrmv7) と64bit(arm64)のプログラム両方を内部で保持しているためです。そのために、実行ファイルサイズが以前と比べおよそ2倍になっています。これはアップルの仕様で、64bit対応を必須とし、またそれぞれのアーキテクチャによってプログラムを変えなければいけないため、IPAのファイルサイズが肥大してしまいます。

お世話になっております。
情報ありがとうございます。

試していたのはC++プロジェクトになります。
念のため、完全にイチから結果を取りなおしてみました。

1.
BasicCodeテンプレートから新規プロジェクトを作成し、空のマップ1つだけを追加した状態
→ 106,719,439 Byte

2.
不要なプラグインをアンロード
→ 105,238,373 Byte

3.
TappyChickenからIOSEngine.iniをコピー
→ パッケージビルドに失敗。下記2つの項目を削除すると成功。
bCompileICU=False
bCompileRecast=False
→ 105,249,823 Byte

4.
TappyChickenの Build/Android/PakBlacklist-Shipping.txt と同内容のPakBlacklistを追加
→ 103,508,595 Byte

5.
「Create compressed cooked package」をON
→ 102,552,709 Byte

6.
上記の状態でShippingビルド
→ 102,020,740 Byte

たしかにそれぞれ少しずつは効果があるのですが、ほぼ何もアセットを含んでいないにも関わらず、公開されているTappyChickenの67.5MBにはまだはるかに遠い状態です。

もしよろしければ、検証様に具体的なサンプルをお送りいただくことは可能でしょうか?

お手数おかけいたしますが、よろしくお願い致します。

お世話になっております。
前回の手順は、完全に素の状態のBasicCodeテンプレートからのものですが、その状態のプロジェクトでもお送りした方がよろしいでしょうか?
プロジェクト独自のコードやアセットを追加する前の状態で、スターターコンテンツも含んでいない状態で約102MBという状態です。

承知しました。こちらでも環境を簡単に構築できるとのことで、こちらで構築させていただきます。
検証結果などが出ましたらご連絡させていただきますので、ご迷惑をおかけいたしますがもう少々お待ちください。

Developmentではデフォルトでarmv7のみのようで、arm64のみに変更するとさらにサイズが増えてしまいましたが、
たしかにShippingではデフォルトで両方が含まれるようで、arm64のみでパッケージ作成したところ約54MBまで削減されました。

Androidに比べて、DevelopmentとShippingの差がかなり大きいのですね。

これで公開されているTappyChicken相当のサイズが現実的になりました。
ありがとうございました。