[Unity] [SerializeField], [HideInInspector]란? (+예시 코드)

SunowMin·2023년 10월 30일

Unity

목록 보기
2/3

[SerializeField]

  • 유니티에서 사용되는 속성(Attribute) 중 하나로, 해당 변수가 인스펙터에서 수정 가능하도록 하는 역할
    - C#에서 어트리뷰트 : 변수, 메서드 등에 추가 정보를 제공하는 데 사용됨
  • 변수 위에 [SerializeField]를 추가하면 해당 변수가 private이더라도 Unity의 Inspector 창에서 값을 설정할 수 있게 됨

✅ 클래스 외부에서는 접근할 필요가 없지만 Inspector에서는 수정이 필요한 변수에 사용함



[HideInInspector]

  • 유니티에서 사용되는 속성(Attribute) 중 하나로, public으로 선언하더라도 해당 변수가 인스펙터 창에 표시되지 않도록 하는 역할
  • public이기 때문에 다른 스크립트에서는 접근 가능


예시

usnig UnityEngine;

public class HideInInspectorExample : MonoBehaviour
{
	[HideInInspector]
    public int a = 1;
    
    [HideInInspector, SerializeField]
    private int b = 2;
    
    [SerializeField, HideInInspector]
    private int c = 3;
    
    [SerializeField]
    private int d = 4;
}

위 코드에서는 오직 d만 인스펙터창에 나타남

0개의 댓글