UnityEditor에서의 Reset과 OnValidate

2023. 9. 22. 10:48·Unity
반응형

Unity를 사용하면서 커스텀 스크립트를 작성할 때, 종종 Reset 및 OnValidate와 같은 몇몇 특별한 메서드들을 발견하게 됩니다. 이러한 메서드들은 에디터에서 작업을 할 때 유용한 도구로 작용할 수 있습니다. 이 포스트에서는 Reset과 OnValidate 메서드에 대해 자세히 알아보겠습니다.

Reset 메서드

Reset 메서드는 컴포넌트의 컨텍스트 메뉴에서 "Reset" 옵션을 선택하거나, 컴포넌트를 처음 게임 오브젝트에 추가했을 때 호출됩니다.

활용 방법:

  • 초기 설정 값을 설정할 때
  • 사용자가 스크립트의 값들을 초기 상태로 돌리고 싶을 때
using UnityEngine;

public class SampleComponent : MonoBehaviour
{
    public int sampleValue;

    void Reset()
    {
        sampleValue = 10;
    }
}


위의 스크립트에서, Reset 메서드가 호출되면 sampleValue는 10으로 초기화됩니다.

 

OnValidate 메서드

OnValidate 메서드는 스크립트의 인스펙터에서 변수의 값을 변경할 때마다 호출됩니다. 이는 에디터 모드에서만 동작하며, 런타임에서는 동작하지 않습니다.

활용 방법:

  • 입력 값의 유효성 검사
  • 변수 값 변경 시 추가 동작이 필요할 때
  • 변수의 변경을 감지하고 그에 따른 후속 처리를 할 때
using UnityEngine;

[ExecuteInEditMode]
public class ValidateComponent : MonoBehaviour
{
    [Range(0, 10)]
    public int rangeValue;

    void OnValidate()
    {
        if (rangeValue < 3)
        {
            Debug.Log("Value is less than 3!");
        }
    }
}

 

위의 스크립트에서, rangeValue가 3보다 작게 변경되면 콘솔에 메시지가 출력됩니다.

정리

UnityEditor에서 제공하는 Reset과 OnValidate 메서드는 개발 플로우를 효율화하는데 큰 도움을 줍니다. 초기화 작업이나 값의 유효성 검사 등, 에디터 내에서의 작업을 편리하게 만들어주는 이러한 메서드들에 익숙해지면, 개발 과정에서 큰 이점을 얻을 수 있습니다.

저작자표시 비영리 변경금지 (새창열림)

'Unity' 카테고리의 다른 글

Unity에서 게임오브젝트를 찾는 방법 2  (0) 2023.09.26
Unity에서 게임오브젝트를 찾는 방법 1  (0) 2023.09.25
스크립트를 통해 게임 오브젝트에 컴포넌트 추가하기  (1) 2023.09.21
Setting : Resolution and Presentation  (0) 2023.09.20
왜 transform.position.x를 직접적으로 수정 할 수 없을까??  (0) 2023.09.04
'Unity' 카테고리의 다른 글
  • Unity에서 게임오브젝트를 찾는 방법 2
  • Unity에서 게임오브젝트를 찾는 방법 1
  • 스크립트를 통해 게임 오브젝트에 컴포넌트 추가하기
  • Setting : Resolution and Presentation
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (603) N
      • 상품 추천 (111) N
      • MongoDB (4)
      • 하드웨어 (9)
      • 일기장 (4)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • 파이썬 (12)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (50)
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    devlife
    유니티
    라떼우유
    rtsp
    cv2
    긴유통기한우유
    카페24리뷰
    스마트스토어리뷰
    appdevelopment
    codingcommunity
    쇼핑몰리뷰
    codingtips
    리뷰관리
    Python
    programmerlife
    리스트
    스크립트 실행 순서
    스크립트 실행
    unity
    믈레코비타멸균우유
    상품 리뷰 크롤링
    learntocode
    ipcamera
    카페24리뷰이관
    리뷰이관
    programming101
    list
    셀레니움
    C#
    파이썬
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
UnityEditor에서의 Reset과 OnValidate
상단으로

티스토리툴바