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
스크립트를 통해 게임 오브젝트에 컴포넌트 추가하기  (0) 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
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
  • 전체
    오늘
    어제
    • 분류 전체보기 (525) N
      • 상품 추천 (41) N
      • MongoDB (4)
      • 하드웨어 (5) N
      • 일기장 (4)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • 파이썬 (127)
        • Basic (40)
        • 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 (48)
        • 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)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 다비즈
  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바