Unity Tips
Jul 25, 2026 · 1 min read · dmg dekels
Rename Serialized Variables Without Losing Inspector Data
Renaming a `public` or `[SerializeField]` variable normally breaks Unity’s serialization, resetting Inspector values back to defaults.
The Tip: Renaming a `public` or `[SerializeField]` variable normally breaks Unity’s serialization, resetting Inspector values back to defaults.
How to Use: Add the `[FormerlySerializedAs]` attribute above the variable referencing the old parameter name. Once Unity updates and saves the serialized data in the Editor, the attribute can safely be removed.
```csharp
using UnityEngine;
using UnityEngine.Serialization;
public class PlayerController : MonoBehaviour
{
[FormerlySerializedAs("playerSpeed")]
[SerializeField] private float moveSpeed = 5.0f;
}Article complete
XP lands automatically when you reach the end.
Rate this article
Comments
Comments are held for moderation before appearing publicly.