Version: Unity 6.0 (6000.0)
Language : English
ScriptableObject
Managing update and execution order

Unity attributes

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 Inspector 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.

Additional resources

ScriptableObject
Managing update and execution order