TIL_2025_04_02 트러블 슈팅 - WebGL 빌드시 오류

김효중·2025년 4월 2일

문제 상황

RuntimeError: null function or function signature mismatch

WebGL로 빌드시 게임을 배포하였는데 다음과 같은 경고창이 나오면서 게임이 진행 되지 않았다.

해결 시도

이를 해결하기 위해 다음과 같은 시도를 해보았다.

  • 다시 빌드하여 배포
  • 브라우저 캐시 삭제 후 접속
  • 다른 브라우저로 접속(엣지, 크롭, 웨일 등등)
  • 다른 컴퓨터로 접속

위와 같은 시도를 하였지만 오류는 고쳐지지 않았다.

문제 원인

이 오류는 WebGL 빌드된 Unity 게임 실행 시 WASM 코드가 제대로 실행되지 않음을 의미한다.
WebGL 템플릿 설정 문제 (WebGL Framework과의 불일치)로 인해 오류가 발생한다.
WebGL은 index.html과 JavaScript로 실행되는데 템플릿 내에서 필요한 스크립트가 누락되었거나 Unity가 생성하는 JavaScript 로직과 충돌하면 문제가 발생한다.
특히 .wasm파일이 누락 된 경우에 null function or function signature mismatc 오류가 발생한다.

해결 방법


Project Settings → Player → Publishing Settings에서
Enable Exceptions에서 Full Without Stacktrace로 선택 후 다시 빌드한다.

Full Without Stacktrace

예외 처리를 활성화하지만, 스택 트레이스(오류가 발생한 함수 경로)를 포함하지 않고, 예외 발생 시 기본적인 오류 메시지만 제공한다.
예)

NullReferenceException: Object reference not set to an instance of an object

Full With Stacktrace

예외 처리 활성화, 스택 트레이스를 포함하여 오류 메시지 제공한다.
예) 32번째 줄의 오류가 있다고 표시

NullReferenceException: Object reference not set to an instance of an object
   at PlayerController.Update() in Assets/Scripts/PlayerController.cs:line 32
   at UnityEngine.MonoBehaviour:Update()
profile
도전하는 개발자

0개의 댓글