본문 바로가기
개발/Unity

Unity) ScriptableObject - Editor Field (에디터 필드 토글 처리)

by 테샤르 2026. 1. 8.

 ScriptableObject - Editor Field (에디터 필드 토글 처리)

ScriptableObject Editor 를 만들다보면 Editor 기능으로 작업할때가 있다.

이렇게 필요한 데이터를 커스텀 하다보면 실제 사용하는 데이터 필드의 표현에 대한 고민이 생긴다.

그런 과정에서 사용하면 좋은 코드이다.

기존의 필드들을 토글 형태로 표시가 가능하다.

 

반응형

 

< ScriptableObject Field 토글 처리>

 

// (전역 변수) 접기/펴기 상태 저장
private bool showDefaultInspector = false;

public override void OnInspectorGUI()
{
    
    ..
    Editor 기능
    ..
    
    
    // ---------------------------------------------------------
        // ▼ 구분선 및 여백
        // ---------------------------------------------------------
        GUILayout.Space(20);

        // 1. 헤더 그리기 (foldoutHeader 스타일 적용)
        // 매개변수: (현재상태, "라벨", 토글가능여부, 스타일)
        showDefaultInspector = EditorGUILayout.Foldout(showDefaultInspector, "Show Raw Data (Debug)", true, EditorStyles.foldoutHeader);

        // 2. 내용물 그리기
        if (showDefaultInspector)
        {
            // 내용물만 박스로 감싸서 구분감을 줍니다.
            EditorGUILayout.BeginVertical("box"); 
            
            EditorGUI.indentLevel++; // 들여쓰기 살짝
            DrawDefaultInspector();
            EditorGUI.indentLevel--;
            
            EditorGUILayout.EndVertical();
        }
}

 

필요한 상황에 따라 해당 데이터 필드를 노출과 미노출이 가능해서 ScriptableObject 를 Editor 형태로 커스텀할때 종종 사용하면 편리하다.

반응형

★☆☆☆☆

반응형

댓글