---
title: "Attributes"
content_type: tutorial
url: "https://learn.unity.com/course/intermediate-gameplay-scripting/tutorial/attributes?language=en"
language: en
container_type: course
container_title: "Intermediate Scripting"
container_url: "https://learn.unity.com/course/intermediate-gameplay-scripting.md?language=en&version=2019.3"
standalone_markdown_url: "https://learn.unity.com/tutorial/attributes.md?language=en&version=2019.3"
previous_title: "Quaternions"
previous_url: "https://learn.unity.com/course/intermediate-gameplay-scripting/tutorial/quaternions?language=en&version=2019.3"
previous_markdown_url: "https://learn.unity.com/course/intermediate-gameplay-scripting/tutorial/quaternions.md?language=en&version=2019.3"
next_title: "Events"
next_url: "https://learn.unity.com/course/intermediate-gameplay-scripting/tutorial/events-uh?language=en&version=2019.3"
next_markdown_url: "https://learn.unity.com/course/intermediate-gameplay-scripting/tutorial/events-uh.md?language=en&version=2019.3"
difficulty: intermediate
duration_minutes: 5
unity_version:
  - "2019.3"
  - "2019.2"
  - "2019.1"
  - "2018.4"
  - "2018.3"
  - "2018.2"
  - "2018.1"
  - "2017.4"
  - "2017.3"
  - "2017.2"
  - "2017.1"
  - "5.x"
  - "4.x"
supported_unity_versions:
  - name: "2021.3"
    url: "https://learn.unity.com/tutorial/attributes.md?language=en&version=2021.3"
  - name: "2019.3"
    url: "https://learn.unity.com/course/intermediate-gameplay-scripting/tutorial/attributes.md?language=en&version=2019.3"
  - name: "2019.2"
    url: "https://learn.unity.com/course/intermediate-gameplay-scripting/tutorial/attributes.md?language=en&version=2019.2"
  - name: "2019.1"
    url: "https://learn.unity.com/course/intermediate-gameplay-scripting/tutorial/attributes.md?language=en&version=2019.1"
  - name: "2018.4"
    url: "https://learn.unity.com/course/intermediate-gameplay-scripting/tutorial/attributes.md?language=en&version=2018.4"
  - name: "2018.3"
    url: "https://learn.unity.com/course/intermediate-gameplay-scripting/tutorial/attributes.md?language=en&version=2018.3"
  - name: "2018.2"
    url: "https://learn.unity.com/tutorial/attributes.md?language=en&version=2018.2"
  - name: "2018.1"
    url: "https://learn.unity.com/tutorial/attributes.md?language=en&version=2018.1"
  - name: "2017.4"
    url: "https://learn.unity.com/tutorial/attributes.md?language=en&version=2017.4"
  - name: "2017.3"
    url: "https://learn.unity.com/tutorial/attributes.md?language=en&version=2017.3"
  - name: "2017.2"
    url: "https://learn.unity.com/tutorial/attributes.md?language=en&version=2017.2"
  - name: "2017.1"
    url: "https://learn.unity.com/tutorial/attributes.md?language=en&version=2017.1"
  - name: "5.x"
    url: "https://learn.unity.com/tutorial/attributes.md?language=en&version=5.x"
  - name: "4.x"
    url: "https://learn.unity.com/tutorial/attributes.md?language=en&version=4.x"
last_updated: "2026-08-04T14:22:34.000Z"
---

# Attributes

Learn the syntax for C# attributes and how to tag your code to convey extra behavior or metadata.

Attributes allow you to attach additional behavior to the methods and variables you create. In this video you will learn the format of attributes as well as how to use the "Range" and "ExecuteInEditMode" attributes.

## 1. Attributes

[Video](https://connect-mediagw.unity.com/h1/20220110/videos/95274bce-eed6-44c2-a999-22b2b796000c_U_Intermediate_17_Attributes.mp4)

**SpinScript**

```csharp
using UnityEngine;
using System.Collections;

public class SpinScript : MonoBehaviour 
{
    [Range(-100, 100)] public int speed = 0;

    void Update () 
    {
        transform.Rotate(new Vector3(0, speed * Time.deltaTime, 0));
    }
}
```

 **ColorScript**

```csharp
using UnityEngine;
using System.Collections;

[ExecuteInEditMode]
public class ColorScript : MonoBehaviour 
{
    void Start()
    {
        renderer.sharedMaterial.color = Color.red;
    }
}
```
