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 Inspector from showing the property, even if it is public. C# contains attribute names within square brackets, like so:
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.