このプロジェクトについて
UnityDataToolsは、UnityFileSystemApiネイティブ動的ライブラリのコマンドラインツールおよびショーケースであり、AssetBundleやPlayerコンテンツなどのUnityデータファイルの内容を解析することを目的としています。Unityエディタを必要とせずにUnityデータファイル上で直接動作し、UnityのWebExtractやbinary2textツールの機能の大部分をより優れたパフォーマンスでカバーし、詳細なビルドコンテンツ解析のためのSQLiteデータベース生成などの機能を追加しています。大規模なビルド出力に対応できるように設計されており、大規模なUnityベースのゲームの微調整に使用されてきました。
このツールはUnity Addressablesのビルドレポートも解析し、AddressablesのJSONビルド出力を自動的に検出して解析し、バンドル、アセット、依存関係、ファイルサイズ、ビルドパフォーマンスメトリクスに関する情報を抽出します。
インストール:Windows、macOS(Apple Silicon)、Linux用のビルドが各リリースに添付されており、自己完結型で、実行可能ファイル、ネイティブのUnityFileSystemApiライブラリ、オフラインドキュメントがバンドルされています。.NETランタイムは不要です。Intel Mac用の公開ビルドはなく、ソースからビルドする必要があります。READMEには、バージョンをダウンロード、解凍、検証するためのPowerShellおよびシェルコマンドが記載されており、checksums.txtにSHA-256ハッシュが保持されていることが記載されています。
ドキュメントでは、Unityコンテンツ形式(SerializedFiles、Unity Archives、TypeTrees、AssetBundle形式、Playerビルド形式、コンテンツディレクトリ形式、ContentLayout.json)とツールの使用方法(コマンドラインリファレンス、Analyzer、データベーススキーマ、クエリ例、AIエージェントワークフロー、ビルドの比較、Addressablesビルドレポート、ビルドレポート)について説明しています。
リポジトリは3つのレイヤーで構成されています:Unityバイナリ形式を読み取る基本ライブラリ(UnityFileSystem、UnityBinaryFormat、UnityDataModels)、生データを有用な出力に変換する機能ライブラリ(SQLiteデータベース用のAnalyzer、人間が読めるダンプ用のTextDumper、参照チェーン用のReferenceFinder、ArchiveおよびSerializedFileインスペクタ)、そしてそれらを結び付け、analyze、dump、find-refs、archive、serialized-fileなどのコマンドを公開するUnityDataToolコマンドライン実行可能ファイルです。
UnityFileSystemApiはUnityソースコードからコンパイルされており、Unity ArchiveおよびSerialized File形式を開いて読み取るためのコア機能を公開し、TypeTreesをナビゲートして、ハードコードされた型知識なしでオブジェクトを汎用的に読み取れるようにします。後方互換性はありますが、前方互換性はなく、2022.1.0a14以降、UnityエディタのData/Toolsフォルダにも配布されています。リポジトリには、Windows、Mac、Linux用のプリコンパイル済みコピーが含まれています。
ビルドには、リポジトリのクローン、.NET 9.0 SDKのインストール、オプションでバンドルされているUnityFileSystemApiライブラリをUnityエディタインストールのものに置き換え、dotnet build -c Releaseを実行する必要があります。テストと共有テストデータが含まれており、テストデータの再生成に使用される2つのUnityプロジェクト(BaselineとLeadingEdge)があります。
このプロジェクトは、Francis PagéによるAssetBundle Analyzerの進化版であり、Unityビルド出力のSQLiteデータベース解析を最初に導入しましたが、WebExtractとbinary2textに依存していたため低速で不安定でした。UnityDataToolsとUnityFileSystemApiは、Unityデータファイルへの高速で信頼性の高いアクセスを提供するために作成されました。このプロジェクトは現状のまま提供され、Unityによって公式にサポートされていません。実験的と説明されており、バグレポートとプルリクエストは歓迎されますが、サポートは保証されません。
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.