常见的方括号声明

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

//在装这个组件的时候必定包含某个组件
[RequireComponent(typeof(BoxCollider))]

//在编辑器添加一个用于添加组件的菜单项,将拥有该属性的脚本添加到选中的物体上
[AddComponentMenu("Test1/Test22")]

//若该脚本继承ScriptableObject,可以将此脚本在右键处可以被创建
//把数据真正存储在了资源文件中,可以像其他资源那样管理它,例如退出运行也一样会保持修改
//可以在项目之间很好的复用,不用再制作Prefab那样导入导出
[CreateAssetMenu()]

//禁止该组件在一个对象中存在多个
[DisallowMultipleComponent]

//设置本组件的帮助文档
[HelpURL("https://www.baidu.com")]

//将此属性添加到某个类可防止从该类的实例创建预设值
[ExcludeFromPreset]

public class Test : MonoBehaviour
{
    //让非public的变量可以在unity外部进行修改
    [SerializeField]
    private bool privateValue;

    //强制让sturct class等可以在unity外部显示以进行修改
    [System.Serializable]
    public struct PlayerState
    {
        public int movementSpeed;
        public int hitPoint;
        public bool hasHealthPotion;
    }

    //让public的变量不可以在unity外部进行修改
    [HideInInspector]
    public bool publicValue;

    //不允许该变量被序列化
    [System.NonSerialized]
    public int nonSerializedValue;

    //鼠标在此变量上会显示参数内的信息来提示
    [Tooltip("This is a tip")]

    //让此变量的在Unity上显示的行数为指定的行数
    [Multiline(4)]
    public string tip;

    //在下一个对象前加入高为20个像素的间隔
    [Space(20)]

    //与Multiline类似但是多了滚动视图
    [TextArea]
    public string tip2;

    //用于区分变量的类型,一般用于某种类型变量的开头
    [Header("Other Setting")]

    //限定指定范围
    [Range(0, 1)]
    public float range;

    //限定最小值
    [Min(0)]
    public float speed;

    //不可调整rgba中的透明度
    [ColorUsage(showAlpha: false)]
    public Color color;

    //在Unity中随时调用下面的函数,可以用于初始化场景
    [ContextMenu("DoThings")]
    public void DoSomething()
    {
        Debug.Log("DoSomething");
    }

    //让枚举中的值实际的和在Unity外部显示的不一样,可以让内容更加易于理解
    public ModelImporterIndexFormat indexFormat;
    public enum ModelImporterIndexFormat
    {
        Auto = 0,
        [InspectorName("16 bits")]
        UInt32 = 1,
        [InspectorName("32 bits")]
        UInt64 = 2,
    }
}

参考资料

https://www.bilibili.com/video/BV1VM4y1V7Rf?share_source=copy_web

https://blog.csdn.net/candycat1992/article/details/52181814

https://blog.csdn.net/qq_38804299/article/details/108716734