앱인토스 개발자센터 로고
Skip to content
이 내용이 도움이 되었나요?

동작 방식

1. 동작 원리

Unity의 BuildTarget은 WebGL 플랫폼을 지원하며, WebGL 내보내기 패키지는 WebAssembly 기술을 기반으로 브라우저 환경에서 실행됩니다.
내보내기 패키지가 AppsInToss 미니앱 환경에서 실행될 수 있도록 다음과 같은 지원을 제공합니다:

  • 개발 단계: 플랫폼 기능의 TypeScript SDK 제공으로 개발자가 플랫폼 기능에 빠르게 연동
  • 내보내기 단계: 전환 패키징 도구로 Unity WebGL 접착층 적응을 통해 미니앱 패키지로 직접 전환
  • 실행 단계: WebAssembly 기본 기능 및 AppsInToss 하위 레벨 인터페이스 지원 제공

2. 핵심 기술 스택

WebAssembly (WASM)

  • Unity C# 코드를 WebAssembly로 컴파일하여 네이티브에 가까운 성능 제공
  • 브라우저 환경에서 고성능 게임 실행 가능
  • 메모리 관리 및 가비지 컬렉션 최적화

JavaScript Bridge

  • Unity C#과 AppsInToss JavaScript API 간 양방향 통신 제공
  • 플랫폼별 기능(결제, 광고, 소셜 등)에 원활한 접근
  • 타입 안전성을 보장하는 자동 마샬링

Vite + React 프레임워크

  • 모던 웹 개발 환경 제공
  • 빠른 개발 서버와 최적화된 번들링
  • TypeScript 완전 지원

Granite 빌드 시스템

  • AppsInToss 플랫폼 최적화된 빌드 파이프라인
  • 자동 리소스 압축 및 CDN 배포
  • 점진적 로딩 및 캐싱 전략

3. 아키텍처 개요

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Unity Game    │    │  AppsInToss     │    │   Platform      │
│                 │    │   Bridge        │    │   Services      │
│  ┌───────────┐  │    │                 │    │                 │
│  │ C# Logic  │  │◄──►│ TypeScript SDK  │◄──►│   Login API     │
│  └───────────┘  │    │                 │    │   Storage API   │
│  ┌───────────┐  │    │ ┌─────────────┐ │    │   Payment API   │
│  │  Render   │  │    │ │ JS Runtime  │ │    │   Admob         │
│  └───────────┘  │    │ └─────────────┘ │    │   Analytics     │
│  ┌───────────┐  │    │ ┌─────────────┐ │    │                 │
│  │WebAssembly│  │    │ │ WebGL Glue  │ │    │                 │
│  └───────────┘  │    │ └─────────────┘ │    │                 │
└─────────────────┘    └─────────────────┘    └─────────────────┘

4. 주요 특징

고성능

  • WebAssembly 기반으로 네이티브에 가까운 성능
  • GPU 가속 렌더링 지원
  • 메모리 효율적인 리소스 관리

호환성

  • Unity 2018.4 LTS 이상 모든 버전 지원
  • 대부분의 Unity 기능과 써드파티 플러그인 지원
  • 기존 게임 코드 95% 이상 재사용 가능

모바일 최적화

  • 터치 입력 및 제스처 완전 지원
  • 모바일 성능에 최적화된 렌더링
  • 배터리 효율성 고려한 프레임 레이트 관리

개발 도구

  • Unity 에디터 통합 빌드 도구
  • 실시간 디버깅 및 프로파일링
  • 자동화된 배포 파이프라인

5. 포팅 순서

전환 흐름은 Unity WebGL 앱인토스 미니앱 전환 가이드 문서를 참조하세요.


6. 성능 벤치마크

메트릭네이티브 앱AppsInToss WebGL성능 비율
시작 시간1.2초2.8초85%
FPS (3D 게임)60 FPS50–55 FPS90%
메모리 사용량100MB120MB83%
배터리 소모100%110%91%

7. 지원 플랫폼

완전 지원

  • iOS: Safari WebView (iOS 13+)
  • Android: Chrome WebView (Android 7+)
  • Desktop: Chrome, Firefox, Safari, Edge

최적화 지원

  • 토스앱 WebView: 네이티브 수준 성능
  • AppsInToss 브라우저: 전용 최적화

브라우저 호환성

  • WebAssembly 지원: 95%+ 커버리지
  • WebGL 2.0 지원: 90%+ 커버리지
  • SharedArrayBuffer: 85%+ 커버리지

8. 보안 및 안정성

코드 보호

  • WebAssembly 바이너리 형태로 코드 배포
  • 선택적 코드 난독화 지원
  • 워터마크를 통한 무단 복제 방지

데이터 보안

  • HTTPS 강제 적용
  • 민감한 데이터는 서버사이드 검증
  • 클라우드 저장소 암호화

9. 제한 사항

기술적 제약

  • 멀티스레딩 제한적 지원
  • 파일 시스템 접근 불가
  • 네이티브 플러그인 사용 불가

성능 고려사항

  • 메모리 사용량이 네이티브 앱 대비 20-30% 높음
  • 초기 로딩 시간이 네이티브 앱 대비 2-3배
  • 배터리 소모가 약 10-15% 높음

10. 참고자료