Unity에서 내보내기
원본 C#, 캐릭터, 씬, 에셋을 유지하고 공식 Web Build Support, Default 템플릿, 네이티브 Build를 사용합니다. Combos Editor, Unity Pipeline, Unity CLI, 전용 템플릿은 필요 없습니다. 네이티브 플러그인과 플랫폼 의존성은 Web에 맞게 조정하세요.
1. Web 활성화
프로젝트가 요구하는 에디터로 열고 주요 씬을 테스트합니다. Unity Hub → Installs → 해당 에디터 → Add modules에서 Web Build Support를 설치하세요. Play를 중지하고 File → Build Profiles → Web → Switch Platform을 선택합니다. 구버전은 Build Settings → WebGL입니다. 임포트 완료와 Active 표시를 확인합니다.

Unity 네이티브 Web 플랫폼 활성화. 씬 목록은 BoatAttack 예제입니다.
2. 씬과 출력 설정
진입 씬을 인덱스 0에 두고 필요한 씬을 모두 포함합니다. Player Settings → Web에서 Default를 선택하고 Development Build를 끕니다.

Unity 기본 제공 Default 템플릿 선택.
| 설정 | 예제와 조정 기준 |
|---|---|
| 압축 | Gzip + Decompression Fallback. 용량이 허용되면 Disabled도 가능 |
| 스레드 | 단일 스레드. 멀티스레드는 호스트의 교차 출처 격리가 필요 |
| 그래픽/메모리 | WebGL 2, 초기 256 MB와 메모리 증가. 게임·기기별 검증 필요 |
| 씬 | 예제는 메뉴 + Island. 자신의 씬으로 교체 |

Gzip, Decompression Fallback, 단일 스레드 설정.
fallback이 없는 .gz/.br는 서버의 올바른 Content-Encoding이 필요합니다. fallback에서는 loader가 .unityweb을 해제하므로 loader가 커지고 네이티브 스트리밍 압축 해제의 이점을 잃습니다. 확장자만으로 판단하지 말고 최종 호스트에서 확인하세요. Unity 공식 문서 .
3. 동적 에셋 포함
로컬 Addressables는 Build Addressables content on Player Build를 켜고 StreamingAssets/aa를 유지합니다. BoatAttack: Window → Asset Management → Addressables → Settings → Build. 원격 에셋은 공개 URL과 브라우저 접근을 확인합니다. 사용하지 않는 프로젝트에 Addressables를 추가할 필요는 없습니다. 메뉴뿐 아니라 실제 레벨에서 캐릭터, 보트, UI를 확인하세요. Addressables 문서 .
4. 전체 폴더 빌드
저장한 뒤 Build를 선택하고 루트의 dist로 출력합니다. 이전 결과물은 백업하고 빈 폴더에 빌드하세요. Console 오류를 해결해 성공을 확인합니다.
dist/
├── index.html
├── Build/
├── TemplateData/
└── StreamingAssets/전체 내보내기를 유지합니다. C#은 WebAssembly로 컴파일되고 데이터는 엔진 빌드에 포함됩니다. JavaScript로 한 줄씩 다시 쓰거나 Assets, Packages, ProjectSettings, Library를 업로드하지 않습니다.
5. 플레이 후 게시
HTTP 서버나 Build And Run으로 레벨에 들어가 이동·운전, 동적 에셋, UI, 일시 정지, 다시 플레이를 확인합니다. 게시 및 업데이트 후 온라인에서 다시 테스트하고 검증된 기기만 지원한다고 표시하세요.

네이티브 Default 내보내기로 로컬에서 BoatAttack 레이스 진행.
BoatAttack 예제에 전용 패치와 결과가 있습니다. 이미 WebGL로 정상 출력되는 게임에 그 패치나 씬 이름을 적용할 필요는 없습니다.
출처: Combos 개발자 연동 가이드 . 원문 확인일: 2026-10-08, CLI v1.14.2. 예제 결과는 원문에 기록된 실행 결과입니다.