Unity게임

유니티 WebGL 오류 Build.framework.js.gz

Khookie 2024. 1. 6. 23:25

 

에러

 

Unable to parse Build/Build.framework.js.gz! This can happen if build compression was enabled but web server hosting the content was misconfigured to not serve the file with HTTP Response Header "Content-Encoding: gzip" present. Check browser Console and Devtools Network tab to debug.

 

빌드/빌드프레임워크.js.gz를 파싱할 수 없습니다! 빌드 압축이 활성화되었지만 콘텐츠를 호스팅하는 웹 서버가 HTTP 응답 헤더 "Content-Encoding: gzip"이 있는 파일을 제공하지 않도록 잘못 구성된 경우 이 문제가 발생할 수 있습니다. 브라우저 콘솔 및 개발자 도구 네트워크 탭에서 디버깅을 확인하세요.

 

문제는 정확히 내가 용량이 큰 mp4 파일을 프로젝트에 추가한 후부터 발생했다.

해결방법

 

웹 서버에서 Content-Encoding: gzip 관련 설정을 잘 해놓았는데도 해당 에러가 발생하여
프로젝트 빌드세팅 메뉴에서 Player Settings - Player - Publishing Setting의 Decompression Fallback을 체크를 했다

 

원리

"DecompressionFallback"은 Unity WebGL 빌드 시에 사용되는 압축과 관련된 설정 중 하나. 유니티 프로젝트를 webgl 빌드시 압축을 사용하여 게임 데이터를 최적화한다. 

이때 "DecompressionFallback" 옵션을 설정할 수 있다.

"DecompressionFallback" 옵션은 압축 해제에 실패한 경우에 대한 대체 동작을 설정하는 데 사용. 주로 Brotli 압축이 브라우저에서 지원되지 않을 때 사용될 수 있다고 한다.


----------------------------------해결될 줄 알았는데 아직이였다.. 아래 오류로 바뀌었을뿐 -----------------------------
Unable to parse Build/Build.framework.js.unityweb! The file is corrupt, or compression was misconfigured? (check Content-Encoding HTTP Response Header on web server)

 

 

다른 이들이 해결되었다고 한 방법들

1. CompressionFormat 을 disabled로 바꾸면 해결 된다는 사람들도 있으나. 용량이 클 시 성능이 저하되니 추천하지 않는다. 그리고 나는 이방법이 안통했음 
2. 압축 포맷이 기본 Brotli 인데 Gzip 으로 바꾸면 해결 된다는 사람들이 있었으나 나는 이글을 쓰게된 이유가 그걸로도 해결이 안되었기 때문

3. DecompressionFallback" 옵션 체크하면 해결된 사람들도있음, 역시 나는 안됐음..

4. 웹 서버 Content-Encoding을 br , Content-Type: one of "application/wasm", or "application/javascript", or "application/octet-stream" 로 바꾸고 (gzip 인경우  application/x-gzip 또는 application/gzip)서버에서 아래 설정을 해주면 된다는 답글도 있다
https://docs.unity3d.com/Manual/webgl-server-configuration-code-samples.html

 

나는 이번 프로젝트를 위해 구축된 서버를 통해 웹을 호스팅하려 했지만 아파치, gzip 등과 관련된 여러 설정을 해보아도 해결되지 않았다..


아래 참고함:

https://forum.unity.com/threads/solved-webgl-build-error-unable-to-parse-build-file-name-framework-js-br.1102759/

 

최종적으로 itch.io 게임 플랫폼을 이용해 프로젝트를 업로드 하면,  gzip 포맷으로 빌드한 경우에 위 오류가 안나기 때문에 우선은 그 방향으로 가기로 결정했다.