2025.04.02 (수)

윤혜진·2025년 4월 2일

📍오늘의 학습 키워드

  • 팀 프로젝트 - 클리커 게임 (5)

    • 트러블슈팅

📍겪은 어려움

  • OnValidate 이슈

    • 문제: 게임을 만들고 모바일 빌드를 해보니 스킬 업그레이드 부분만 제대로 작동하지 않는 것을 확인

    • 원인: OnValidate에서 너무 많은 작업을 진행했기 때문에 일어난 문제였다.

    • 설명:

      • OnValidate는 유니티에서만 실행되는 에디터 함수이고, 나는 지금까지 OnValidate에서 할당해 준 것들은 직접 손으로 끌어서 할당해준 것과 같은 취급을 받는다고 이해하고 있었음.
      • 그러나 OnValidate에서 GetComponent로 에디터에 있는 게임 오브젝트의 컴포넌트를 찾아오는 것은 문제가 되지 않지만, 플레이를 할 때 세팅되어야 하는 것까지 OnValidate에서 세팅해준다면 문제가 발생할 수 있다는 튜터님의 피드백을 받았다.
    • 해결 방법: OnValidate에서 처리해주던 코드 몇가지를 Start로 옮겨주니 빌드 시에도 제대로 작동하는 것을 확인!

    • 수정 전 코드

    • 수정 후 코드

📍회고 및 반성

  • OnValidate가 에디터 함수라는 것은 알았지만 지금까지 그게 어떤 오류를 일으킬 수 있는지에 대해서는 잘 모르고 사용한 것 같다.
  • 그래도 해당 문제를 최종 프로젝트에 들어가기 전에 알아서 다행이다. 앞으로는 조심할 것!

0개의 댓글