Attributes are markers that can be placed above a class, property or function in a script to indicate special behaviour. For example, you can add the
HideInInspector attribute above a property declaration to prevent the InspectorA Unity window that displays information about the currently selected GameObject, Asset or Project Settings, alowing you to inspect and edit the values. More info
See in Glossary from showing the property, even if it is public. C# contains attribute names within square brackets, like so:
[HideInInspector] public float strength;
Unity provides a number of attributes which are listed in the API Reference documentation:
There are also attributes defined in the .NET libraries which might sometimes be useful in Unity code. See Microsoft’s documentation on Attributes for more information.
Note: Do not use the ThreadStatic attribute defined in the .NET library; it causes a crash if you add it to a Unity script.