앱인토스 개발자센터 로고
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. 참고자료