본문 바로가기
Unity/UnityEditor

[UnityEditor] 유니티 Attribute 인스펙터 정리 #1

by Kyoung2 2022. 8. 24.
반응형

Unity를 사용하면서 가장 어려웠던 점이라고 한다면, 3D 엔진이다 보니 어디에 어떤게 있는지, 헷갈린다.

유니티 경력이 쌓이면 쌓일수록 인스펙터를 정리하는 것이 습관이 되다보니 이걸 정리해야겠다는 생각으로 포스팅한다.

 


유니티 Attribute 란?

[HideInInspector]

public float strength;

 

아래 링크에서 더 많은 속성을 확인할 수 있다.

https://docs.unity3d.com/kr/2021.2/ScriptReference/AddComponentMenu.html

 

UnityEngine.AddComponentMenu - Unity 스크립팅 API

The AddComponentMenu attribute allows you to place a script anywhere in the "Component" menu, instead of just the "Component->Scripts" menu.

docs.unity3d.com


♣ 현업에서 자주 사용하는 Attribute 모음

 

1. AddComponentMenu

 

  - AddComponentMenu는 엔진 상단에 Component 메뉴에 해당 어트리뷰트에 해당하는 스크립트를 표시하는 기능이다.

   Scriptable 요소들이나 공통적으로 사용해야하는 클래스를 넣어두기 편하다.

[AddComponentMenu("UI/UIController")]
public class UIController : MonoBehaviour, IDragHandler, IEndDragHandler, IScrollHandler
{
	
}

결과화면


2. Space

  - Space 속성은 Inspector를 한층 깨끗하게 해줄 수 있는 속성이다.  Inspector 창에 공간을 띄어주는 역할을 한다.

일반적으로 이렇게 바로 붙은 상태로 표현된다.

public class UIController : MonoBehaviour, IDragHandler, IEndDragHandler, IScrollHandler
{
    //Drag 
    [SerializeField]
    private RectTransform rectTr;
    
    [Space(20)] //Space Attribute
    
    [SerializeField]
    private Vector3 minitialScale;
 }

이렇게 Space로 20만큼의 공간을 띄운다면,

아래의 결과 창과 동일하게 표현된다.

 

결과화면


3. SerializeField , HideInInspector

 - 해당 속성들은 Inspector 창에 변수명을 표현할 것인지 안할것인지에 대한 속성값들이다.

   [SerializeField]
    private int testPriavteValue;
    [SerializeField]
    internal int testInteranlValue;
    [SerializeField]
    protected int testProtectedValue;

이렇게 접근제한자 형태의 모든 내용을 SerializeField 를 통해 표현할 수 있다.

 

결과화면

반대로  public 으로 선언된 변수의 경우 인스펙터 창에 바로 보여지게 되는데, 

HideInInspector를 상단에 선언하면 인스펙터 창에 보이지 않게 된다.

 

결과화면


4. Header

 - 해당 속성은 Inspector 창에서 상단에 타이틀을 기입할 수 있는 기능이다.

public class AttributeScripts : MonoBehaviour
{
    [Header("Kyoungs Blog")]
    public int testIntValue;

    // Start is called before the first frame update
    void Start()
    {
        
    }
}

결과화면


인스펙터 정리 2편 : https://tkablog.tistory.com/entry/UnityEditor-%EC%9C%A0%EB%8B%88%ED%8B%B0-Attribute-%EC%9D%B8%EC%8A%A4%ED%8E%99%ED%84%B0-%EC%A0%95%EB%A6%AC-2?category=1078750

728x90
반응형

# 로딩 화면 동작 코드(Code) 설정하기
loading