📦

[UE5] パッケージの中のアセットのサイズ内訳を確認する方法

に公開

記事執筆時環境

項目 バージョン
Unreal Engine 5.5.4
OS Windows11
Platform Windows

概要

パッケージングしたけど、なんかサイズが大きい!
何が原因で大きくなっちゃってるのかわからない!といった場合にパッケージの内訳を確認する方法です。

実際にはここからプラットフォーム毎の圧縮なのかOodleの圧縮が入るのかちょっとサイズは異なりますが、
中身の把握には十分役に立つと思います。

やり方

UnrealEngine5.1から入ったらしいAssetSizeQueryコマンドレットを使います。

ProjectSettings


ProjectSettings/Packaging/Write Back Metadata to Asset RegistryをOriginal Fileにします。
プロジェクト設定のiniファイルが書き換わるので戻し忘れに注意してください。
もしくはコマンドラインでビルド時にiniを書き換えるようにしてください。
参考 : Cook And Package Options|Unreal Engine Cheat Sheet

Stageビルド

通常通りStageビルドを行います。
Editorからでも問題ないですが、コマンドからは下記のように実行します。
-projectには適切なプロジェクトのパスを設定してください。

.\Engine\Build\BatchFiles\RunUAT.bat BuildCookRun -project="C:\Projects\UnrealProjects\Blank_Cpp\Blank_Cpp.uproject" -clientconfig=Development -platform=Win64 -cook -build -stage -iostore -pak

ビルド後、下記の場所にDevelopmentAssetRegistry.binファイルが出来ているはずです。

${ProjectDir}/Saved/Coocked/Win64/${ProjectName}/MetaDeta/DevelopmentAssetRegistry.bin

CSV出力

下準備は終わったので実際にデータを出力します。
下記のようなコマンドをUnrealEditor-Cmd.exeにオプションを付けて実行してください。

.\Engine\Binaries\Win64\UnrealEditor-cmd.exe -run=AssetSizeQuery -AssetRegistry="C:\Projects\UnrealProjects\Blank_Cpp\Saved\Cooked\Windows\Blank_Cpp\Metadata\DevelopmentAssetRegistry.bin" -CSV="C:\Projects\UnrealProjects\Blank_Cpp\Saved\AssetSize.csv" -CSVType=Assets

-AssetRegistryに先ほどStageビルドした際に作成されたAssetRegistry.binを指定。
-CSVにはCSVの出力先を指定。
-CSVTypeにはAssetsを指定。またはClassesを指定。用途によって使い分けましょう。

ログに全体の概要が出力され、-CSVで指定したパスにCSVファイルが出力されます。

CSVにはアセット単位のサイズが出力されているので、具体的に何のアセットがどれくらいのサイズになっているかわかると思います。

Editorでの確認方法

UE5.4からDevelopmentAssetRegistry.binの情報を表示出来るツールが実装されているので、そちらでも確認できます。

メニューバーのTools/Audit/Asset Disk Size1を選択します。(1でも2でも機能は一緒みたいなのでどちらでもいいです)


パッケージかStageビルドした際に出力したDevelopmentAssetRegistry.binを選択して開きます。
ツールを開いたときにダイアログが出ますが、デフォルトでは.ucookmetaを開くようになっているので切り替えましょう。


ファイルを開いた後、アセットのタイプ毎にグループ表示を切り替えればパッケージ内のアセットの内訳が表示されます。

参考リンク

Unreal Engine 5.1 リリース ノート | Unreal Engine 5.1 ドキュメンテーション | Epic Developer Community
[UE4] シングルパックファイル内のアセットリストを取得する #UnrealEngine - Qiita
Unreal Engine 5.4 リリース ノート | Unreal Engine 5.4 ドキュメンテーション | Epic Developer Community

GitHubで編集を提案

Discussion