[Unity] Attribute란?

Unity 2023. 3. 25. 13:46
  • Unity에서 Attribute는 특정한 기능이나 정보를 클래스, 프로퍼티, 필드, 메소드 등 코드의 요소에 부여하는 데 사용되는 특별한 타입의 메타데이터입니다. 
  • Attribute는 C#에서 제공되는 기능으로, 주로 코드를 작성할 때 추가적인 정보를 제공하거나 Unity의 인스펙터 창에 표시되는 방식을 변경하는 데 사용됩니다.
  • Unity에서는 다양한 Attribute들이 있으며, 이는 코드의 가독성을 높이고 작성자의 의도를 명확하게 전달할 수 있습니다.
  • 주요 Unity Attribute의 예시는 다음과 같습니다.

예시

SerializeField: 일반적으로 private 변수는 Unity 인스펙터에 표시되지 않지만, 이 Attribute를 사용하면 해당 변수를 인스펙터 창에서 수정할 수 있게 됩니다.

[SerializeField] private int myValue;

Tooltip: 변수에 마우스를 올렸을 때 툴팁으로 표시될 정보를 설정할 수 있습니다. 이를 통해 변수의 사용 목적을 명확하게 전달할 수 있습니다.

[Tooltip("This value represents the player's speed.")] public float speed;

Range: 인스펙터에서 변수 값의 범위를 지정할 수 있습니다. 이를 통해 변수 값의 최소값과 최대값을 제한할 수 있습니다.

[Range(0, 100)] public int health;

Header: 인스펙터에서 변수들을 그룹화하거나 구분할 때 사용할 수 있는 헤더를 추가합니다.

[Header("Player Settings")] public string playerName;

RequireComponent: 이 Attribute를 사용하면, 해당 컴포넌트와 함께 다른 특정 컴포넌트가 필요한 경우 자동으로 추가됩니다.

[RequireComponent(typeof(Rigidbody))] public class PlayerController : MonoBehaviour { ... }

블로그 이미지

RIsN

,