コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】指定したフォルダやアセット、コンポーネントをシリアライズし直すことができる「UnityForceDirty」紹介

概要

「UnityForceDirty」を Unity プロジェクトに導入することで
指定したフォルダやアセット、コンポーネントを
シリアライズし直すことができるようになります

使用例

using UnityEngine;

public class Example : MonoBehaviour
{
    public int m_AAAAA;
    public int m_BBBBB = 151;
}

例えば、上記のようなコンポーネントをアタッチしたプレハブが存在する場合に

f:id:baba_s:20190503142834p:plain

.prefab には上記のようにパラメータが保存されますが

using UnityEngine;

public class Example : MonoBehaviour
{
}

このようにコンポーネントからパラメータを削除しても、
保存されたパラメータは残り続けてしまいます(Reimport しても残り続ける)

f:id:baba_s:20190503143104p:plain

そこで、Project ビューでコンポーネントを選択した状態で

f:id:baba_s:20190503143107p:plain

Unity メニューの「Tools > UnityForceDirty > SelectComponent」を選択すると

f:id:baba_s:20190503143121p:plain

そのコンポーネントがアタッチされているすべてのプレハブの情報が更新され、
.prefab からパラメータを削除することができます