説明

NonSerialized 属性により変数がシリアライズされないものとしてマーキングされます。

This way you can keep a variable public and Unity does not attempt to serialize it or show it in the Inspector.
See Also: HideInInspector

class Test
{
    // p will not be shown in the inspector or serialized
    [System.NonSerialized]
    public int p = 5;
}