반응형
Unity에서 public 변수에 설명(툴팁) 추가하는 방법
Unity에서 public 변수를 선언할 때, 인스펙터(Inspector)에서 해당 변수의 역할을 쉽게 이해할 수 있도록 설명을 추가하는 방법을 소개합니다. 이를 통해 협업 시 가독성을 높이고, 유지보수를 쉽게 할 수 있습니다.
1. Tooltip 속성을 사용하여 설명 추가하기
Unity에서는 [Tooltip] 속성을 사용하면 인스펙터에서 변수 위에 마우스를 올렸을 때 설명이 표시됩니다.
✅ Tooltip 예제 코드
using UnityEngine;
public class Example : MonoBehaviour
{
[Tooltip("이 변수는 플레이어의 최대 체력을 설정합니다.")]
public int maxHealth = 100;
[Tooltip("이 변수는 플레이어의 이동 속도를 설정합니다.")]
public float moveSpeed = 5.0f;
}
🔹 결과
- maxHealth와 moveSpeed 변수 위에 마우스를 올리면 설명이 표시됩니다.
- 변수의 역할을 쉽게 파악할 수 있어 유지보수가 편리해집니다.
2. Header & Space 속성으로 가독성 높이기
단순한 툴팁 외에도 Header와 Space 속성을 사용하면 인스펙터에서 변수를 그룹화하고 가독성을 향상시킬 수 있습니다.
✅ Header와 Space 속성 예제
using UnityEngine;
public class Example : MonoBehaviour
{
[Header("플레이어 설정")]
[Tooltip("이 변수는 플레이어의 최대 체력을 설정합니다.")]
public int maxHealth = 100;
[Tooltip("이 변수는 플레이어의 이동 속도를 설정합니다.")]
public float moveSpeed = 5.0f;
[Space(10)] // 10픽셀 간격 추가
[Header("공격 설정")]
[Tooltip("이 변수는 플레이어의 공격력을 설정합니다.")]
public int attackDamage = 10;
}
🔹 결과
- Header("플레이어 설정") → 변수를 논리적인 그룹으로 묶어 가독성을 높임
- Space(10) → 변수 간 간격을 조절하여 보기 편하게 정리
3. SerializeField를 활용한 변수 보호
public 변수를 사용하면 외부에서 접근이 가능하여 실수로 변경될 위험이 있습니다.
하지만 private 변수에 [SerializeField] 속성을 추가하면 인스펙터에서 조정은 가능하지만, 외부 스크립트에서 직접 접근할 수 없도록 보호할 수 있습니다.
✅ SerializeField 예제
using UnityEngine;
public class Example : MonoBehaviour
{
[Tooltip("이 변수는 플레이어의 최대 체력을 설정합니다.")]
[SerializeField]
private int maxHealth = 100;
}
🔹 결과
- private 변수지만 인스펙터에서 값을 조정할 수 있음
- 외부에서 접근이 불가능하므로 코드를 안전하게 보호할 수 있음
4. 요약 및 정리
기능 사용법 설명
Tooltip | [Tooltip("설명")] | 변수에 마우스를 올리면 설명 표시 |
Header | [Header("제목")] | 변수 그룹을 정리하여 가독성 향상 |
Space | [Space(n)] | 변수 간격을 조정하여 인스펙터 정리 |
SerializeField | [SerializeField] private 변수명; | 인스펙터에서 수정 가능하지만, 외부 접근 차단 |
이렇게 하면 Unity 프로젝트에서 변수를 보다 직관적으로 관리할 수 있습니다.
특히 팀원과 협업할 때나 나중에 코드를 다시 볼 때도 변수의 역할을 쉽게 파악할 수 있어 유지보수가 훨씬 편리해집니다! 🚀
728x90
반응형
'프로그램 코딩 > 유니티(Unity3d)' 카테고리의 다른 글
[Unity3d] 프리팹 덮어쓰기(엎어치기) 방법 정리 (0) | 2025.02.15 |
---|---|
[Unity3d] 애니메이션 즉시 정지 및 실행하는 방법 (0) | 2025.02.15 |
[Unity3d] 애니메이션 종료 시점 처리하는 방법 (0) | 2025.02.09 |
[Unity3D] 2D 프로젝트 메인 카메라 & 캔버스 설정 (0) | 2025.02.09 |