コガネブログ

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

【Unity】Unity 4.6 新機能「FormerlySerializedAsAttribute」

Unity 4.6 から
「UnityEngine.Serialization.FormerlySerializedAsAttribute」が追加されました

using UnityEngine;

public class ExampleClass : MonoBehaviour 
{
    public int value;
}

例えば上記のクラスをオブジェクトにアタッチして
Inspectorでvalue変数に値を設定した後に
value変数の名前を変更すると設定した値が消えてしまいます

using UnityEngine;
using UnityEngine.Serialization;

public class ExampleClass : MonoBehaviour 
{
    [FormerlySerializedAs( "value" ) ]
    public int newValue;
}

そこで、上記のようにFormerlySerializedAs属性を変数に適用して
変更前の変数名を設定してから変数名を変更することで
値を保持したまま変数をリネームすることができます

参考サイト様