Legacy Documentation: Version 4.6.2
Language: English
  • C#
  • JS
  • Boo

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

FormerlySerializedAsAttribute

Namespace: UnityEngine.Serialization

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

oldName The name of the field before the rename.