PROGRAMING📚/🔖Unity3D
Unity Inspector를 더 깔끔하게 만드는 방법 – Inspector Attribute 정리와 예제
__윤하루__
2025. 7. 5. 18:57
Inspector Attribute, 함께 살펴보실까요?
Unity 스크립트에 [Header], [Tooltip] 같은 어트리뷰트를 붙이면 코드 몇 줄만으로 Inspector 창을 훨씬 읽기 쉽게 꾸밀 수 있습니다.
아래에서 하나씩 예시와 함께 차근차근 설명드릴게요.
1. Header
“이 필드들은 같은 주제로 묶어서 제목을 달아 주세요”라는 의미입니다.
[Header("플레이어 설정")]
public float speed = 5f;
2. Tooltip
변수 위에 마우스를 올렸을 때 짧은 설명이 뜨도록 합니다.
[Tooltip("플레이어가 이동하는 속도입니다.")]
public float moveSpeed = 5f;
3. Space
필드 사이를 띄워서 시각적으로 구분하고 싶을 때 사용합니다. 숫자를 넣어 간격(픽셀)을 조정할 수도 있습니다.
public int hp;
[Space(10)]
public int armor;
4. Range
슬라이더 UI가 생성돼 값 조정이 간편해집니다. int 또는 float 타입에만 적용할 수 있습니다.
[Range(0f, 10f)]
public float jumpPower;
[Range(1, 100)]
public int bulletCount;
5. SerializeField
private 필드라도 Inspector에 노출하고 싶을 때 붙입니다.
[SerializeField]
private int maxHP = 100;
6. HideInInspector
반대로, public 필드인데 Inspector에는 굳이 보이지 않아도 될 경우에 사용합니다.
[HideInInspector]
public string debugMessage = "디버그용 메시지입니다.";
7. Multiline
문자열(string)을 여러 줄로 입력할 수 있는 작은 텍스트 박스를 제공합니다.
[Multiline(3)]
public string dialogText;
8. TextArea
더 큰 텍스트 영역이 필요할 때 사용합니다. 최소·최대 줄 수를 지정할 수 있어요.
[TextArea(3, 10)]
public string storyDescription;
실전 예시: 캐릭터 설정 스크립트
using UnityEngine;
public class CharacterSettings : MonoBehaviour
{
[Header("기본 정보")]
public string characterName;
[Tooltip("레벨이 오를수록 체력이 증가합니다.")]
[Range(1, 100)]
public int level;
[Space(10)]
[Header("전투 능력치")]
[SerializeField]
private int baseHP;
[Range(0f, 100f)]
public float attackPower;
[HideInInspector]
public bool isDebugMode;
[TextArea(3, 6)]
public string characterLore;
}
이처럼 어트리뷰트 몇 줄만 추가해도 Inspector가 훨씬 깔끔해집니다. 복잡한 커스텀 에디터를 작성하지 않아도 되니, 프로젝트 관리가 한결 수월해지겠죠?
한눈에 정리
Attribute 용도
Header | 필드를 주제별로 묶어 제목 표시 |
Tooltip | 마우스 오버 설명 추가 |
Space | 필드 간 여백 삽입 |
Range | 슬라이더 UI 제공 |
SerializeField | private 필드를 Inspector에 노출 |
HideInInspector | public 필드를 Inspector에서 숨김 |
Multiline / TextArea | 여러 줄 문자열 입력 지원 |