Attributes in C# are metadata markers that can be placed above a class, property, or method declaration to indicate special behaviour.
There are many attributes defined in the .NET libraries and Unity also provides a number of custom, Unity-specific attributes. 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, allowing you to inspect and edit the values. More info
See in Glossary from showing the property, even if it is public. Attributes are specified in square brackets above the declaration as follows:
[HideInInspector]
public float strength;
For the full list of UnityEngine
attributes, refer to the list under UnityEngine > Attributes in the Scripting API reference, which begins with AddComponentMenu.
For the full list of UnityEditor
attributes, refer to the list under UnityEditor > Attributes in the Scripting API reference, which begins with AssetPostprocessorStaticVariableIgnoreAttribute.
Note: Do not use the .NET ThreadStatic attribute as this causes a crash if you add it to a Unity script.