Legacy Documentation: Version 4.6(go to latest)
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

You can use this attribute to want to rename a field wihout losing its serialized value.

Supose 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 loosing 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.