UE4.27.2 プラグイン、パッケージ化時容量測定結果

:::note
[追記：UE5.5 の検証もしてみました。](https://ue5study.com/how/ue5-5-plugin-package-size/)
:::

# はじめに
Unreal Engine __4.27.2__ の __プラグイン__ が、__パッケージデータ__ にどの程度影響があるのか、検証してみました。
Windows Shipping設定。サードパーソンテンプレートでの確認なので、Mesh系のプラグインの容量は、環境によって変わる可能性があります。
プラグインのチェックを外して、パッケージ化を繰り返して、パッケージサイズがいくつか、100回程度比べてみました。
__OpenImageDenoise__ は、バグかな？と思う邪魔さなので、__4.27.3__ があれば、邪魔にならないようになっているかもしれません。(5.1.0でも幅を利かせていた。)

# 1. 切って良さそうなプラグイン

| プラグイン名 | 容量MB | 容量バイト ||
| :-- | :-- | :-- | :-- |
| __OpenImageDenoise__ | __47.84MB__ | 50,158,778 | ゲームの場合は切った方が良い。 |
| __OpenXR<br>OpenXREyeTracker<br>OpenXRHandTracking__ | __8.50MB__ | 8,916,212 | VRじゃなければ切った方が良い。 |
| __Oculus VR__ | __6.85MB__ | 7,178,072 | VRじゃなければ切った方が良い。 |
| __SteamVR__ | __0.70MB__ | 731,359 | VRじゃなければ切った方が良い。 |
| __Magic Leap__ | __1.26MB__ | 1,320,414 | Magic Leap 使わないなら切った方が良い。 |


# 2. 状況によっては検討の価値あり

| プラグイン名 | 容量MB | 容量バイト ||
| :-- | :-- | :-- | :-- |
| __Editable Mesh__ | __6.76MB__ | 7,089,920 | 切る事による影響が未確認・・・。Chaosとの関わりがある。 |
| __Niagara+Chaos__ | __4.11MB__ | 4,311,563 | 使わない場合は切ってもいいかも。 |
| __AISupport__ | __2.00MB__ | 2,099,499 | NaviMeshのAIを使わない場合は、検討の価値あり。 |
| __Speedtree__ | __1.78MB__ | 1,864,379 | SpeedTree関連の機能やマテリアルなどを使ってなければ、切る価値がある。 |

# 3. 容量がシビアな環境では、検討してもいいかも。

| プラグイン名 | 容量MB | 容量バイト ||
| :-- | :-- | :-- | :-- |
| __Online Subsystem<br>Online Subsystem NULL<br>Online SUbsystem Utils__ | 0.90MB | 947,782 | オンラインじゃなければ切ってもいいかも。 |
| __WebM Video Player<br>Movie Player for WebM files__ | 0.73MB | 767,439 | 動画の読み込みしないなら検討してもいいかも。 |
| __Audio Synesthesia<br>Synthesis and DSP Effects__ | 0.73MB | 766,654 | 切る場合、影響の検証が必要。 |
| __Procedural Mesh Component__ | 0.46MB | 478,515 | 切る場合、影響の検証が必要。 |
| __PhysX Vehicles__ | 0.38MB | 395,289 | 切る場合、影響の検証が必要。 |
| __Paper2D__ | 0.28MB | 288,801 | 切る場合、影響の検証が必要。 |
| __Windows Movie Player<br>WMF Media Player__ | 0.22MB | 235,167 | 動画の読み込みしないなら検討してもいいかも。 |
| __Image Sequence Media Player<br>MediaCompositing__ | 0.16MB | 163,871 | 切る場合、影響の検証が必要。 |
| __Template Sequence (Experimental)<br>Gameplay Cameras<br>MatineeToLevelSequence__ | 0.14MB | 146,069 | 切る場合、影響の検証が必要。 |
| __Geometry Cache (Experimental)__ | 0.13MB | 140,578 | 切る場合、影響の検証が必要。 |
| __UDP Messaging__ | 0.12MB | 125,724 | 切る場合、影響の検証が必要。 |
| __Datasmith Content__ | 0.12MB | 124,667 | 切る場合、影響の検証が必要。 |
| __Variant Manager Content__ | 0.10MB | 103,036 | 切る場合、影響の検証が必要。 |

# 4. 検証価値が低め

| プラグイン名 | 容量バイト |
| :-- | :-- |
| __Audio Capture__ | 93,711 |
| __Animation Sharing<br>Significance Manager__ | 82,017 |
| __TCP Messaging__ | 63,865 |
| __MotoSynth__ | 52,130 |
| __SoundFields__ | 38,635 |
| __Apple関連__ | 36,339 |
| __Chunk Downloader__ | 34,039 |
| __Cable Component__ | 29,396 |
| __Automation Utilities__ | 22,042 |
| __Android関連__ | 20,740 |
| __Mobile Location Services Blueprints Library<br>Mobile Patching Utilities<br>Wizard for mobile packaging scenarios__ | 20,022 |
| __Custom Mesh Component__ | 19,220 |
| __Actor Sequence (Experimental)__ | 18,167 |
| __ArchVis Character__ | 16,651 |
| __Asset Tags__ | 13,563 |
| __Facial Animation Bulk Importer__ | 7,442 |
| __BackChannel__ | 6,934 |
| __Actor Layer Utilities__ | 6,485 |
| __UObject Example Plugin__ | 4,897 |
| __Platform Cryptography Plugin__ | 3,574 |
| __LightPropagationVolume__ | 3,517 |
| __Property Access Node__ | 3,127 |
| __Alembic Importer (Experimental)__ | 2,820 |
| __CharacterAI__ | 2,819 |
| __Enviroment Query Editor (Experimental)__ | 2,358 |
| __Material Analyzer__ | 2,296 |
| __Media Player Editor__ | 2,048 |
| __Launcher Chunk Installer__ | 1,897 |
| __Runtime PhysX Cooking__ | 790 |
| __GeometryMode__ | 318 |
| __Camera Shake Previewer__ | 295 |

# 5. 切ると容量が増える
:::note warn
切らない方が良いプラグイン
:::

| プラグイン名 | 容量バイト |
| :-- | :-- |
| __Oodle Data<br>Oodle Network<br>Oodle Texture__ | -7,049,990 |
| __Geometry Processing<br>MeshPainting__ | -149,980 |
| __Plastic SCM__ | -2,048 |
| __Google関連__ | -784 |
| __Example Device Profile Selector__ | -691 |
| __Content Browser - Asset Data Source__ | -18 |
| __Asset Manager Editor__ | -7 |
| __Property Access Editor__ | -5 |
| __Content Browser - Class Data Source__ | -5 |

Oodleは圧縮プラグインなので、Oodle以外の圧縮を使う時以外は切るべきではない。

# 6. 無罪

| プラグイン名 | 容量バイト |
| :-- | :-- |
| __Git__ | 0 |
| __Perforce__ | 0 |
| __Subversion__ | 0 |
| __XCode Integration__ | 0 |
| __CodeLite Integration__ | 0 |
| __Rider Integration__ | 0 |
| __CLion Integration__ | 0 |
| __Kdevelop Integration__ | 0 |
| __Visual Studio Integration__ | 0 |
| __Visual Studio Code Integration__ | 0 |
| __IOS関連__ | 0 |
| __Mac Graphics Switching__ | 0 |
| __Linux Compiler-only Integration<br>Linux Device Profile Selector__ | 0 |
| __PIX for Windows GPU Capture Plugin__ | 0 |
| __XGE Controller__ | 0 |
| __Custom Splash Preload Screen__ | 0 |
| __GameplayTagsEditor__ | 0 |
| __Data Validation__ | 0 |
| __Curve Editor Tools__ | 0 |
| __Proxy LOD Plugin (Experimental)__ | 0 |
| __CryptoKeys__ | 0 |
| __Skeletal Mesh Simplifier (Early Access)__ | 0 |
| __Level Sequence Editor__ | 0 |

# 7. 切ってはいけない
:::note alert
切っちゃだめ。
:::

| プラグイン名 | 容量バイト |  |
| :-- | :-- | :-- |
| __Plugin Browser<br>Plugin Utilities__ | 2,366 | 最も切ってはいけないプラグイン。<br>何もできなくなります。 |
| __Content Browser - Asset Data Source__ | -18 | 切ると容量が増える以外に、ブラウザー操作ができなくなる。 |
| __Content Browser - Class Data Source__ | -5 | 切ると容量が増える以外に、ブラウザー操作ができなくなる。 |
| __Oodle Data<br>Oodle Network<br>Oodle Texture__ | -7,049,990 | 基本的には切っちゃダメ。圧縮プラグイン。 |

Plugin Browser
Plugin Utilities
この二つ以外は、切った後に戻すことができる。

# おわりに
4.27に関しては、出来るだけ追いかけようと思います。
切る事で起こる不具合など、このページで共有できると嬉しいです。試した結果求ム！
容量が小さいものも、切って良い物は、はっきりさせたいと思います。
うまいこと情報共有できる状態になると助かる！

https://twitter.com/O_Y_G/status/1473564409788506114?s=20