/AnimatorControllerCleaner

UnityのAnimatorController内に残ったゴミデータを削除してクリーンアップするエディタ拡張。

Primary LanguageC#

AnimatorControllerCleaner v1.1

UnityのAnimatorController内に参照されないのに残ってしまったデータを削除します。

動作確認環境

  • Unity2019.4.31f1
  • VRChat Package Resolver Tool 0.1.19
    (YamlDotNetに依存していますが、Packages/com.vrchat.core.vpm-resolver/Editor/Dependencies/YamlDotNet.dllに含まれているのでこれを使います。)
    VCCを使っていない場合はAsset StoreからYamlDotNet for UnityをImportしてください。

使い方

  1. Edit > Project Settings... > Editor > Asset Serialization > ModeをForce Textに設定。
  2. AnimatorControllerCleaner.unitypackageをimport
  3. ゴミを削除したいAnimatorControllerをProject上で選択して右クリック CleanAnimatorControllersを実行。

何を行っているのか

AnimatorControllerのAssetをTextModeで保存した場合、Yaml形式となっています。

Yamlをパースし、Root要素であるAnimatorControllerから参照しているオブジェクトを辿って行きます。

AnimatorControllerから辿った参照ツリーに含まれていないオブジェクトを除外してYamlファイルを保存しなおしています。

注意事項

テストは行っていますが、完璧な動作は保証できません。一度AnimatorControllerを複製した上で実行し、問題ないことを確認することをおすすめします。

更新履歴

v1.0

登録

v1.1

最後のオブジェクトの内容がひとつ前のオブジェクトの内容に置き換わってしまっていた不具合を修正。