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 MyMonster : MonoBehaviour { public int hitpoints; }

And you would now like to rename this field. You can achieve that by using this attribute:

using UnityEngine;
using UnityEngine.Serialization;

public class MyMonster : MonoBehaviour { [FormerlySerializedAs("hitpoints")] public int health; }

Unity serializes public variables by default. To serialize private variables, use the SerializeField attribute. For more information, see the Script Serialization documentation.

Variables

oldNameThe name of the field before the rename.