2015. 10. 6. 15:00

유니티에서 만든 프로젝트를 Html5로 빌드하면 'WebGL'로 빌드 결과물이 나옵니다.

 

이렇게 나온 파일을 웹서버에 올리고 접속해보면....

 

 

 

Uncaught could not load memory initializer Release/[파일명].html.mem

 

아 잰장할 ㅎㅎㅎ

 

1. 원인

얼핏 보면 메모리 에러 같지만 이건 메모리 에러는 아니고 메모리로 사용되는 파일을 받을 수 없어서 발생하는 에러입니다.

(흠....엄밀이 따지면 메모리 에러 맞네요 ㅎㅎㅎ)

빌드 결과물을 보면 'Release'폴더에 '*.data'와 '*.mem'파일이 있습니다.

 

그런데 웹서버는 보안상 이유로 허용된 파일확장자가 아니면 다운로드가 되지 않습니다.

저 두개는 웹서버에서 허용된 확장자가 아니므로 이런 에러가 발생하는 것입니다.

 

2. 해결 방법

IIs의 경우 'MIME 형식'을 추가해주면 됩니다.

(아파치는 '.htaccess'를 수정)

 

해당 '사이트'에서 'MIME 형식'에 들어가서 '추가'를 선택합니다.

MiME 형식을 'application/octet-stream'으로 주고 '.mem'과 '.data'를 추가해줍니다.

 

 

 

'MIME 형식'으로 들어가서

 

 

 

 

'.mem'과 '.data'를 추가해줍니다.

 

3. 테스트

이제 다시 접속해보면 에러 없이 잘됩니다.

 

 

 

아래서 직접 확인해 봅시다.

 

 

마무리

알고보면 별거 아닌 오류입니다.

 

참고 : unity Forums - How to properly host WebGL content