Unity WebGL 애플리케이션 빌드 및 배포 가이드

이 문서는 Unity에서 WebGL 애플리케이션을 효율적으로 빌드하고 배포하기 위한 가이드를 제공합니다. 다음은 필수적인 팁 및 예시입니다.

배포 크기 및 코드 스트리핑

WebGL 애플리케이션 퍼블리시 시, 사용자가 충분한 다운로드 시간을 확보할 수 있도록 빌드 크기를 최적화하는 것이 중요합니다. 이 섹션에서는 파일 크기 최소화 및 코드 스트리핑에 대한 내용을 설명합니다.

빌드 파일 크기 축소

  • 텍스처 압축: 텍스처 임포터에서 모든 압축된 텍스처를 Crunch 포맷으로 지정합니다.
  • 개발 빌드를 피하기: 개발 빌드는 압축되지 않아서 파일 크기가 훨씬 큽니다.
  • 예외 설정: Edit > Project Settings > WebGL에서 Publishing Settings를 펼쳐 Enable Exceptions을 None으로 설정합니다.
  • 엔진 코드 스트리핑: Player settings > Other Settings 패널에서 Strip Engine Code를 활성화합니다.

코드 스트리핑

Unity는 사용되지 않는 코드를 자동으로 제거합니다. Other Settings 패널에서 Strip Engine Code 옵션을 활성화하면 사용되지 않는 Unity 서브시스템을 제거하여 빌드 크기를 줄입니다.

코드 스트리핑 문제 해결

스트리핑으로 인해 실제 필요한 코드가 제거되면 오류가 발생할 수 있습니다. 예를 들어, 아래와 같은 오류가 브라우저의 JavaScript 콘솔에 표시될 수 있습니다.

Could not produce class with ID XXX

이런 경우, 클래스 ID를 확인하고 해당 클래스의 참조를 스크립트에 추가하거나 link.xml 파일을 통해 코드를 포함하도록 강제해야 합니다.

link.xml 예시

<linker>
    <assembly fullname="UnityEngine">
        <type fullname="UnityEngine.Collider" preserve="all"/>
    </assembly>
</linker>

빌드 출력 파일 이동

WebGL 템플릿의 index.html 파일에서 buildUrl 변수를 수정하여 빌드 폴더의 위치를 변경할 수 있습니다.

설정 항목 설명
buildUrl 빌드 폴더의 URL 설정
dataUrl 애셋 데이터를 접속하는 URL 설정
wasmCodeUrl WebAssembly 코드의 URL 설정
wasmMemoryUrl WebAssembly 메모리의 URL 설정
wasmFrameworkUrl WebAssembly 프레임워크 URL 설정

증분 빌드

IL2CPP로 생성된 C++ 코드는 변경된 부분만 다시 컴파일됩니다. Unity 프로젝트의 Library/il2cpp_cache 디렉토리에서 증분식 컴파일을 위한 오브젝트 파일을 확인할 수 있습니다. 클린 빌드를 원할 경우 해당 디렉토리를 삭제하면 됩니다.

추가적으로 고려할 사항

  • CORS 설정: 파일을 CDN에서 호스팅할 경우 CORS가 활성화되어야 합니다.
  • 최신 문서 참조: 더 많은 정보는 Unity 공식 문서에서 확인하세요.

이 가이드는 Unity WebGL 애플리케이션의 빌드와 배포를 위한 기본적인 이해를 돕기 위해 작성되었습니다. 추가적으로 실습과 경험을 통해 최적의 방법을 탐색해보길 권장합니다.

Read more

Unity 매뉴얼 스크립팅 API 해설

이 문서는 Unity의 매뉴얼 스크립팅 API에 대한 간단한 해설과 활용 예제들을 포함하고 있습니다. Unity는 게임 개발 플랫폼으로, 스크립팅 API를 통해 게임의 다양한 기능을 제어하고 수정할 수 있습니다. 버전 Unity 스크립팅 API는 여러 버전으로 제공됩니다. 주의 깊게 선택하여 사용하는 것이 중요합니다. 버전 설명 2023.2 최신 기능 및 버그 수정이 추가됨

By 이재협/실장/시스템개발실/PHYSIA

Unity 매뉴얼 스크립팅 API 설명서 해설

이 문서는 Unity의 매뉴얼 스크립팅 API에 대한 정보를 제공하며, 버전에 따라 다르게 적용되는 내용들을 설명합니다. 본 문서에서는 주요 내용을 간단히 정리하고 활용 가능 예제를 통해 이해를 돕겠습니다. 기본 개념 Unity에서 스크립팅 API는 게임 오브젝트와 그들의 동작을 제어하기 위한 강력한 도구입니다. 이를 통해 게임의 로직, 물리 엔진, 애니메이션 및 사용자 인터페이스를

By 이재협/실장/시스템개발실/PHYSIA

Unity 스크립팅 API 가이드

이 문서는 Unity의 스크립팅 API에 대해 설명합니다. Unity는 게임 개발을 위한 인기 있는 엔진으로, 강력한 스크립팅 기능을 제공합니다. 이 가이드는 Unity에서 스크립트를 작성하고 사용하는 방법을 이해하는 데 도움을 드립니다. 목차 * Unity 스크립팅 소개 * 기본 스크립트 생성 * 스크립트 사용 예제 * 응용 프로그램 * 참고 자료 Unity 스크립팅 소개 Unity는 C# 프로그래밍 언어를

By 이재협/실장/시스템개발실/PHYSIA