Skip to content

yugo-unity/AddrAuditor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ADDR Auditor

supported Addressables 2.3.16 or later

[EN]
This is a extension for Addressables if you create Standalone and Console Game.
Its primary function is to resolve duplicate assets, but it also includes optimization without custom packaging.
A description of the various items can be found at the tooltip in the Editor.
[JA]
StandaloneやConsole Game向けにAddressablesを扱う際の包括的な拡張ツールです。
主機能として重複アセットの解決を目的としていますがカスタムパッケージを行わない範囲での最適化も含みます。
各種項目の説明はEditorにてマウスオーバーのtooltipにも記載しています。

image

1. Dependencies Graph

[EN]
It is possible to find unintended references by visualizing the dependencies between bundles/assets in Addressables.
By right-clicking on a node, you can display only the dependencies of the specified bundle.
[JA]
Addressablesのバンドル間の依存関係を可視化することで意図しない参照を見つけることが可能です。
ノードを右クリックすることで指定のbundleの依存関係のみ表示できます。

image
image
image

2. Analyze & Suggest any settings

[EN]
AddressablesAssetSettings and AddressablesGroupSettings are analyzed and better configulations are proposed and configured.
[JA]
Addressables Asset SettingsおよびAddressables Groupの設定を解析し、最適なものを提案・設定します。

3. Automatic Shared-Group

[EN]
Duplicate asset detection can be checked byBuild Layout, though,
Resolution requires creating another bundle by making explicit entries.
This feature aims to solve automatically such difficult dependencies.
[JA]
重複アセットの検出はBuild Layoutから確認することが可能ですが、
解決には複数のバンドルから参照されるアセットの明示的にエントリを作って別のバンドルを生成する必要があります。
本機能はその難解な依存関係の解決を自動で行うことが可能です。

image

  • Create Shader Group (optional)
    • [EN] group non-duplicated shaders into a unique group
      • this is an option to keep track of which shaders are being used (this is usually not needed)
    • [JA] 重複アセットでないシェーダーを独立したグループにひとまとめにします
      • 利用されているシェーダーを把握するためのオプションで通常不要です
  • Allow Duplicated Materials
    • [EN] materials are very small file-size, so allowing duplicates is likely to result in fewer bundles and less overhead on load
    • [JA] マテリアルは非常に小さいので重複を許容するとバンドルの数が抑えられロード時のオーバーヘッドを抑えやすいです
  • Resident Group
    • [EN] create a group of resident assets
      • exclude from duplicate resolution by grouping assets that are always in memory into the same group
    • [JA] 常駐アセットのグループを指定します
      • 常にメモリに展開されるアセットを同一グループにまとめることで重複解決から除外します

自動生成されるグループ :

  • +Residents
    • [EN] resident asset group
    • [JA] 指定した常駐アセットグループです
  • +Shared_XX
    • [EN] groups of duplicate assets, generated for each asset with the same reference
    • [JA] 重複しているアセットをまとめたグループです、同一の参照をもつアセット毎に生成されます

4. Addressables Build


[EN]
You can build Addressables with specialized work-flow to build local bundles.
[JA]
ローカルのバンドルに特化したビルド設定を指定してAddressablesのビルドを行うことができます。

  • Bundle Name is Hash of Filename
    • [EN] some obfuscation can be gotton by setting the bundle name to Hash
    • [JA] バンドル名をHashにすることによる多少の難読化が得られます
  • Use Optimized Provider (for local bundles)
    • [EN] use a local optimized AssetBundleProvider for runtime
      • specifically, the deleted remote processing and reduced memory allocation apply
      • *As of 2024/08/18, memory allocation by the delegate instance remains during unload
    • [JA] ランタイム用のAssetBundleProviderにローカル専用に最適化したものを指定します
      • 具体的にはリモート処理の判定とメモリアロケートの削除が適用されます
      • ※2024/08/18現在、Unload時にdelegateインスタンスによるメモリアロケートが残っています
  • Use Optimized Build (for local bundles)
    • [EN] use a local optimized BuildPackedMode for Addressables build
      • specifically, delete unused data such as TypeTree and fbx Rig
    • [JA] Addressablesビルドの際にローカル専用に最適化したものを指定します
      • 具体的にはTypeTreeとfbxのRigといった未使用データを削除します
  • Clear Build Cache
    • [EN] clear build caches before building
      • it is safer to clear when Addressables settings are changed
    • [JA] ビルド前にキャッシュをクリアします
      • 本拡張にかかわらずAddressablesの設定を変更した際はクリアした方が無難です

5. Optional


[EN]
This is an extra feature. It is usually not necessary to use.
[JA]
おまけの機能です。通常使用する必要はありません。

1. Create Address Defines

[EN]
Generate a class file that defines the Keys for Addressables.
AssetReference is recommended, but may be easier for small to medium-sized projects. [JA]
AddressablesのKeyを定義したクラスファイルを生成します。
AssetReferenceの方が推奨されますが小~中規模のプロジェクトではこちらの方が楽かもしれません。

2. Dump Hash/Bunlde Name

[EN]
Output log to confirm hash of assetbundle name and file name. For confirmation.
[JA]
アセットバンドル名のハッシュとファイル名を確認するためのログを出力します。確認用です。

Planned

  • Use Short Load Path
    • [EN] if "Load Path" is local by default, namespace is redundant, and the size of the catalog is increased when there are the large number of bundles
      • you can suppress catalog size by using your own shortened property as a wrapper
    • [JA] Load PathはデフォルトのLocalままだとnamespaceが冗長であり、生成されるバンドル数が多いとカタログサイズを増大させる
      • 独自の短縮したプロパティをラッパーとすることでカタログサイズを抑制することができる

About

Utilities for Addressables. (Auto-Grouping, Dependencies Graph, Custom Provider, etc...)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages