Version: 2017.3

FormerlySerializedAsAttribute

class in UnityEngine.Serialization

Switch to Manual

Description

Use this attribute to rename a field without losing its serialized value.

Suppose you have a class like this:

using UnityEngine;

public class MyClass : MonoBehaviour {

public string myValue; }

And you would like to create a property to encapsulate myValue without losing any data already assigned to instances of MyClass. You can achieve that by using this attribute:

using UnityEngine;
using UnityEngine.Serialization;

public class MyClass : MonoBehaviour { [FormerlySerializedAs("myValue")] private string m_MyValue; public string myValue { get { return m_MyValue; } set { m_MyValue = value; } } }

Variables

oldNameThe name of the field before the rename.