2026년 웹 게임 엔진: PlayCanvas vs Three.js vs Babylon.js vs Unity WebGL
Cinevva CTO 겸 공동 창립자 Oleg Sidorkin 작성

2026년에 브라우저에서 실행되는 3D 게임을 출시하려면 네 가지 주류 선택지와 몇 가지 신생 선택지가 있습니다. 이들을 한데 묶어 흔히 "웹 게임 엔진"이라고 부르지만, 실제로는 서로 다른 문제를 해결하는 완전히 다른 도구입니다. 잘못 선택하면 몇 달을 낭비할 수 있습니다. 이 글은 웹 3D 엔진을 직접 개발하는 사람들이 자체 엔진을 만들기 전에 이 모든 선택지를 평가한 경험을 바탕으로 작성한 최신 팩트 체크 비교입니다.
각 선택지가 실제로 무엇인지, 누구에게 적합한지, 어떤 부분에서 한계가 있는지 차례로 살펴본 뒤 마지막에 간단한 선택 가이드를 제공합니다. 이 글에 언급된 버전 번호는 2026년 9월 기준으로 정확합니다(PlayCanvas 엔진 2.22, Three.js r185, Babylon.js 9.25, Unity 6.6).
전체 선택지를 찾고 있나요? 이 글은 네 가지 주류 3D 선택지에 초점을 맞춥니다. Phaser, Defold, Construct 같은 2D 선택지를 포함해 총 11개의 웹 엔진을 순위별로 비교한 내용은 2026년 최고의 웹 게임 엔진 가이드를 참고하세요.
빠른 비교
| PlayCanvas | Three.js | Babylon.js | Unity WebGL | Cinevva | |
|---|---|---|---|---|---|
| 정체 | 완전한 엔진 + 호스팅 에디터 | 렌더링 라이브러리 | 완전한 엔진 + 에디터 | 데스크톱 엔진의 웹 내보내기 | AI 네이티브 월드 플랫폼 |
| 아키텍처 | 엔티티-컴포넌트(ECS) | 씬 그래프 | 씬 그래프 + 컴포넌트 | GameObject/컴포넌트 | 씬 그래프 + AI 빌더 |
| 스크립팅 | TypeScript / JavaScript | JavaScript(나머지는 직접 구축) | TypeScript / JavaScript | C#(Wasm으로 컴파일) | 자연어 + 코드 |
| 렌더러 | WebGL2, 성숙 중인 WebGPU | WebGL2, 성장 중인 WebGPU | WebGL2, 발전 중인 WebGPU | WebGL2(내보내기), 6.6부터 WebGPU 지원(옵트인) | WebGPU 전용 |
| 에디터 | 호스팅형, 상용 | 없음 | 웹 기반, 무료 | 데스크톱, 상용 | 월드 내 몰입형 |
| 물리 | Ammo / 연동 기능 | 직접 선택 | Havok 내장 | 내장(PhysX) | 커스텀 캐릭터 솔버 |
| 라이선스 | 엔진은 MIT, 에디터는 독점 라이선스 | MIT | Apache 2.0 | 독점 라이선스 | 독점 라이선스 |
| 가장 적합한 용도 | 스튜디오 방식의 브라우저 게임 | 커스텀 3D, 완전한 제어 | 필요한 기능을 모두 갖춘 게임 | 기존 Unity 게임 포팅 | 월드 내 AI 게임 제작 |
이 글의 나머지 부분에서 표의 내용을 자세히 설명합니다.
PlayCanvas
PlayCanvas는 웹에서 Unity 스타일의 워크플로에 가장 가까운 도구입니다. 엔진은 MIT 라이선스의 오픈 소스이며 2026년 9월 기준 v2.22.0입니다. 2.21에서는 물리 백엔드 추상화와 KTX2 큐브맵이 추가됐고, 2.22에서는 이중 소스 블렌딩과 향상된 볼류메트릭 포그가 추가됐습니다. 엔티티-컴포넌트 시스템을 사용하며, 게임 로직은 TypeScript 또는 JavaScript로 작성합니다. 에셋은 GLB를 생성하는 서버 측 파이프라인을 거칩니다. 실제 상용 게임들이 PlayCanvas에서 실행되고 있으며, 대기업들도 프로덕션 환경에서 사용합니다. 공개적으로 알려진 사례로는 Snap이 있습니다.
PlayCanvas에 관해 사람들이 흔히 오해하는 두 가지를 바로잡을 필요가 있습니다. 첫째, 엔진은 MIT 라이선스이지만 대부분의 팀이 실제로 사용하는 호스팅형 비주얼 에디터는 오픈 소스가 아니라 상용 제품입니다. 에디터 없이 엔진만 무료로 사용할 수 있지만, 에디터와 클라우드를 결합한 워크플로는 유료입니다. 둘째, PlayCanvas는 WebGL2 우선 엔진입니다. WebGPU 경로도 있지만 아직 성숙 단계에 있으며 기본 렌더러는 아닙니다. 따라서 현재 프로덕션용 WebGPU 컴퓨트 셰이더를 기대하고 PlayCanvas를 선택해서는 안 됩니다.
PlayCanvas가 확실히 앞서는 분야는 3D 가우시안 스플래팅입니다. 팀이 오픈 소스로 공개한 SuperSplat 에디터와 뷰어는 스플랫 장면을 캡처해 웹에 배포하기 위한 업계 최고 수준의 도구이며, 대규모 캡처를 위한 WebGPU 기반 스트리밍도 지원합니다. 사실적으로 스캔한 환경이 중요하다면 PlayCanvas로 시작할 만한 분명한 이유가 됩니다.
다음과 같은 경우 PlayCanvas를 선택하세요. 브라우저를 위한 Unity 스타일 에디터와 관리형 에셋 파이프라인이 필요하고, 스튜디오에서 제작할 법한 게임을 출시하려는 경우입니다. 다음과 같은 경우 다른 선택지를 살펴보세요. 지금 당장 WebGPU 컴퓨트가 필요하거나 호스팅형 상용 에디터를 피하고 싶은 경우입니다.
Three.js
Three.js는 게임 엔진이 아닙니다. 렌더링 라이브러리이며, 이 분야에서 압도적으로 가장 널리 사용되는 라이브러리입니다. 씬 그래프, 카메라, 조명, 머티리얼, 지오메트리, 로더, 렌더러를 제공하지만 거기서 끝납니다. 에디터도, 물리도, 엔티티 시스템도 없으며 게임을 어떻게 구성해야 하는지에 대한 정해진 방식도 없습니다. 이런 부분은 직접 추가하거나 생태계에서 가져와야 합니다.
이러한 절충이 Three.js의 핵심입니다. 웹 3D에서 가장 큰 커뮤니티와 최대한의 제어권을 얻는 대신, 렌더러 위의 모든 요소를 직접 구축하거나 조합해야 합니다. WebGPU 렌더러는 꾸준히 성장해 현재도 사용할 수 있으며, 2026년 7월에 나온 r185가 최신 릴리스입니다. 다만 다른 엔진들과 마찬가지로 성숙한 기본 경로는 여전히 WebGL2입니다. Three.js는 MIT 라이선스입니다.
다음과 같은 경우 Three.js를 선택하세요. 완전한 제어권과 최소한의 기반을 원하고, 그 위에 게임 시스템을 구축할 엔지니어링 역량이 있는 경우입니다. 다음과 같은 경우 다른 선택지를 살펴보세요. 에디터와 게임 시스템이 기본으로 제공되기를 원하는 경우입니다.
Babylon.js
Babylon.js는 Apache 2.0 라이선스의 완전한 엔진이며 Microsoft의 한 팀이 지원합니다. Three.js와 달리 직접 조합해야 할 기능들이 기본으로 제공됩니다. 컴포넌트 모델, 통합된 Havok 물리 엔진, 무료 웹 기반 에디터, 에셋 파이프라인을 포함합니다. WebGPU 개발은 빠르게 진전되어 범용 엔진 중에서도 선도적인 수준이지만, 폭넓은 호환성을 위한 경로로 WebGL2도 계속 유지합니다. Babylon.js 9.0은 2026년 3월에 출시됐으며 2026년 9월 기준 버전은 9.25입니다. 이 버전에서는 두 백엔드의 클러스터드 라이팅, WebGPU 컴퓨트 셰이더 기반의 볼류메트릭 라이팅, 3D 가우시안 스플랫의 그림자 지원을 통해 이러한 우위를 더욱 강화했습니다.
"완전한 엔진과 내장 물리를 원하며 그 엔진의 규칙 안에서 작업하는 데 문제가 없다"는 생각이라면 Babylon은 강력한 기본 선택지이며, 이 분야에서 기능이 가장 완전한 무료 옵션이라고 해도 과언이 아닙니다.
다음과 같은 경우 Babylon.js를 선택하세요. 필요한 기능이 모두 갖춰져 있고 물리가 내장되어 있으며 무료 에디터가 제공되는 엔진을 원하는 경우입니다. 다음과 같은 경우 다른 선택지를 살펴보세요. 의존성 규모를 최소화하고 싶거나 Unity 스타일의 호스팅형 워크플로를 원하는 경우입니다.
Unity WebGL
Unity WebGL은 웹 엔진이 아니라 내보내기 대상입니다. Unity 데스크톱 에디터에서 C#으로 게임을 제작한 뒤, WebAssembly를 통해 브라우저에서 실행되는 WebGL 번들로 컴파일합니다. 따라서 한 가지 특정 상황에서는 당연한 선택입니다. 이미 Unity 게임이 있고 이를 브라우저 버전으로 만들려는 경우입니다.
웹 우선 프로젝트에서는 실질적인 비용이 따릅니다. 런타임과 다운로드 용량이 크고, 네이티브 웹 엔진보다 시작이 느리며, 모바일 브라우저 성능이 고질적인 문제로 알려져 있습니다. Unity는 독점 라이선스이며 기본 웹 출력은 WebGL2를 대상으로 합니다. Unity 6에서 실험 기능으로 시작한 WebGPU 백엔드는 Unity 6.6(2026년 8월)에서 실험 단계를 벗어났습니다. 이제 웹 빌드를 위한 정식 지원 그래픽 API지만 여전히 기본적으로 비활성화되어 있으며, Graphics Device Filtering 설정을 통해 기기별로 WebGL2로 폴백합니다. Unity 6.6에서는 Wasm 메모리 한도도 16GB로 늘어났습니다. 이론상 컴퓨트 셰이더 격차는 해소되지만, 다운로드 용량이나 모바일 시작 속도 문제는 달라지지 않습니다.
다음과 같은 경우 Unity WebGL을 선택하세요. 기존 Unity 프로젝트를 브라우저로 가져오려 하거나 팀이 이미 Unity를 중심으로 작업하는 경우입니다. 다음과 같은 경우 다른 선택지를 살펴보세요. 중급 사양 스마트폰에서 즉시 로드되는 것이 필수 요구 사항이거나, 새 프로젝트를 웹 우선으로 시작하는 경우입니다.
AI 네이티브 및 월드 내 제작의 위치
위의 모든 선택지는 하나의 가정을 공유합니다. 개발자가 책상에 앉아 에디터로 게임을 만든 뒤 런타임을 출시한다는 것입니다. 대부분의 프로젝트에는 이 가정이 맞으며, 여러분의 상황도 그렇다면 위 네 가지 중 하나를 선택하면 됩니다.
하지만 다른 범주가 등장하면서 이제 이것만이 유일한 선택지는 아니라는 사실도 알아둘 필요가 있습니다. 저희가 개발하는 Cinevva는 월드 안에서 게임을 제작하는 WebGPU 전용 월드 플랫폼입니다. 에디터를 여는 대신 아바타로서 공간 안에 서서 원하는 것을 설명하면, AI 빌더가 눈앞에서 이를 지형, 오브젝트, 동작으로 구현합니다. 제작과 플레이가 동일한 세션에서 이루어집니다. 이를 구현하기 위해 내부적으로는 컴퓨트 셰이더 지형을 갖춘 WebGPU 전용 방식을 채택하고, 범용 물리 엔진 대신 커스텀 캐릭터 솔버를 작성했으며, 애니메이션과 리타기팅 시스템을 구축했습니다. 자세한 내용은 자체 WebGPU 엔진을 만든 이유에서 다뤘습니다.
이것은 PlayCanvas나 Babylon을 대체하려는 것이 아닙니다. 특정 게임을 만드는 개발자라면 그런 엔진들이 적합한 도구입니다. Cinevva는 엔진 개발자가 아닌 사람들도 원하는 것을 설명해 플레이 가능한 공간을 만들고 공유할 수 있게 하려는, 다른 목표를 위한 도구입니다. 여기서 Cinevva를 언급하는 이유는 "어떤 웹 게임 엔진을 사용해야 할까?"라는 질문에 점점 더 엔진이 아닌 다섯 번째 답이 생기고 있기 때문입니다.
전체 기능 매트릭스
위의 빠른 비교표는 핵심만 요약한 것입니다. 아래는 서브시스템별로 분류한 상세 버전입니다. 표를 읽는 방법에 관해 몇 가지 솔직한 설명을 덧붙이겠습니다. "직접 준비"는 엔진 자체에는 포함되지 않지만 생태계의 도구나 자체 코드로 추가할 수 있다는 뜻입니다. 이는 특히 설계 자체가 렌더링 라이브러리인 Three.js에서 중요합니다. 따라서 Three.js의 "직접 준비"는 결함이 아니라 철학적 특성입니다. Unity의 "내보내기 전용"은 해당 기능이 데스크톱 에디터에 존재하고 WebGL 빌드에 함께 포함되지만 웹 네이티브 기능은 아니라는 뜻입니다. 경쟁 제품 항목은 2026년 9월 기준 기본 제공 기능과 문서화가 잘 된 동작을 반영합니다. Cinevva 항목은 현재 출시된 빌드에서 실행되는 기능을 반영하며, "계획됨"은 설계는 완료됐지만 아직 구현되지 않은 기능을 뜻합니다.
렌더링
| 기능 | Cinevva | PlayCanvas | Three.js | Babylon.js | Unity WebGL |
|---|---|---|---|---|---|
| 주 렌더러 | WebGPU 전용 | WebGL2(WebGPU 베타) | WebGL2(WebGPU 성장 중) | WebGL2(WebGPU 고도화) | WebGL2(6.6부터 WebGPU 지원, 옵트인) |
| 프로덕션 환경의 컴퓨트 셰이더 | 지원(핵심 의존 요소) | 베타 | WebGPU를 통해 지원 | 지원(WebGPU) | 지원(WebGPU, Unity 6.6+) |
| 셰이더 작성 | TSL 노드 + 컴퓨트 | 셰이더 청크 / GLSL | GLSL + 노드(TSL) | 노드 머티리얼 / GLSL / WGSL | ShaderLab / HLSL |
| 클러스터드 / 포워드+ 라이팅 | 지원(프로셀) | 지원 | 직접 준비 | 지원 | 지원 |
| 볼류메트릭 구름과 날씨 | 지원 | 직접 준비 | 직접 준비 | 일부 지원 | 직접 준비 |
| 3D 가우시안 스플래팅 도구 | 계획됨 | 지원(SuperSplat, 선도적) | 커뮤니티 제공 | 지원 | 플러그인 |
월드와 지형
| 기능 | Cinevva | PlayCanvas | Three.js | Babylon.js | Unity WebGL |
|---|---|---|---|---|---|
| 내장 대규모 월드 스트리밍 | 지원(64m 청크) | 직접 준비 | 직접 준비 | 직접 준비 | 내보내기 전용 |
| 지형 시스템 | 하이브리드 높이맵 + 마칭 큐브/SDF | 직접 준비 | 직접 준비 | 확장 기능 | 내장(데스크톱) |
| 런타임 지형 조형 | 지원(GPU) | 직접 준비 | 직접 준비 | 직접 준비 | 미지원(편집 시에만 가능) |
| 동굴과 돌출부(실제 3D 토폴로지) | 지원(마칭 큐브) | 직접 준비 | 직접 준비 | 직접 준비 | 직접 준비 |
| GPU 인스턴싱 식생과 잔디 | 지원 | 지원 | 직접 준비 | 지원 | 지원 |
물리와 캐릭터
| 기능 | Cinevva | PlayCanvas | Three.js | Babylon.js | Unity WebGL |
|---|---|---|---|---|---|
| 물리 엔진 | 커스텀 키네마틱 솔버 | Ammo 연동 | 직접 준비(Rapier/Cannon/Ammo) | Havok 내장 | PhysX 내장 |
| 강체 동역학 | 미지원(의도적인 설계) | 지원 | 직접 준비 | 지원 | 지원 |
| 캐릭터 컨트롤러 | 지원(다중 모드 FSM) | 템플릿 / Ammo | 직접 준비 | 지원 | 내장 |
| 지형 통합 충돌(SDF) | 지원 | 미지원 | 직접 준비 | 미지원 | 미지원 |
애니메이션
| 기능 | Cinevva | PlayCanvas | Three.js | Babylon.js | Unity WebGL |
|---|---|---|---|---|---|
| 스켈레탈 애니메이션 | 지원 | 지원 | 지원 | 지원 | 지원 |
| 블렌드 / 상태 머신 | 지원(리졸버 FSM) | 지원(애니메이션 상태 그래프) | 믹서(블렌딩 직접 준비) | 지원 | 지원(Mecanim) |
| 스켈레톤 리타기팅 | 지원(파이프라인) | 제한적 | 커뮤니티 제공 | 일부 지원 | 지원(휴머노이드) |
| 역운동학 | 계획됨 | 제한적 | 커뮤니티 제공 | 지원 | 지원 |
멀티플레이어와 백엔드
| 기능 | Cinevva | PlayCanvas | Three.js | Babylon.js | Unity WebGL |
|---|---|---|---|---|---|
| 내장 멀티플레이어 | 지원(엣지 권위형) | 직접 준비(Photon/Colyseus) | 직접 준비 | 직접 준비 | 직접 준비(Netcode, 웹 네이티브 아님) |
| 영속적 공유 월드 | 지원(청크별 Durable Objects) | 직접 준비 | 직접 준비 | 직접 준비 | 직접 준비 |
| 공간 음성 채팅 | 지원(WebRTC + HRTF) | 직접 준비 | 직접 준비 | 직접 준비 | 직접 준비 |
제작과 저작
| 기능 | Cinevva | PlayCanvas | Three.js | Babylon.js | Unity WebGL |
|---|---|---|---|---|---|
| 에디터 | 월드 내 몰입형 | 호스팅형 데스크톱 스타일(상용) | 없음(최소한의 기능) | 웹 기반(무료) | 데스크톱(상용) |
| 월드 내 체화형 제작 | 지원 | 미지원 | 미지원 | 미지원 | 미지원 |
| 자연어 / AI 제작 | 지원(AI 빌더) | 미지원 | 미지원 | 미지원 | 미지원 |
| 스크립팅 | 자연어 + JS | TypeScript / JS | JavaScript | TypeScript / JS | C# |
에셋과 배포
| 기능 | Cinevva | PlayCanvas | Three.js | Babylon.js | Unity WebGL |
|---|---|---|---|---|---|
| 서버 측 에셋 파이프라인 | 지원(GLB + LOD + KTX2 + Draco) | 지원(GLB) | 로더만 제공 | 임포트 도구 | 지원 |
| 내장 AI 에셋 생성 | 지원(3D, 이미지, 오디오, 음악) | 미지원 | 미지원 | 미지원 | 미지원 |
| 통합 에셋 검색 | 지원(11개 제공업체) | 에셋 스토어 | 미지원 | 미지원 | 에셋 스토어 |
| 설치 없이 브라우저에서 실행 | 지원 | 지원 | 지원 | 지원 | 지원(무거움) |
| 엔진 라이선스 | 독점 플랫폼 | 엔진은 MIT, 에디터는 독점 | MIT | Apache 2.0 | 독점 |
이 표에서 드러나는 패턴이 핵심입니다. 범용 엔진들은 강점을 수평적으로 넓혀 대부분의 작업을 준수하게 처리하지만, 월드와 백엔드, 제작 흐름은 개발자가 직접 구축해야 합니다. Cinevva는 수직적으로 집중합니다. 지원하는 범위는 더 좁지만, 렌더러부터 내부에서 직접 제작하는 공유 월드까지 전체 경로를 책임집니다. 어느 쪽이 무조건 더 낫다고 할 수는 없습니다. 서로 다른 질문에 답하는 도구이기 때문입니다.
선택 방법
기능 체크리스트가 아니라 실제 상황에 맞춰 도구를 선택하세요.
이미 Unity 게임이 있다면 Unity WebGL로 내보내고 무거운 용량을 감수하세요. 브라우저 게임을 위한 에디터 중심의 워크플로를 원하는 스튜디오라면 PlayCanvas를 사용하세요. 물리 엔진까지 포함된 완전한 무료 엔진을 원한다면 Babylon.js를 사용하세요. 완전한 제어권을 원하고 기본 렌더러 위에 직접 구축할 팀이 있다면 Three.js를 사용하세요. 반면 목표가 하나의 게임을 만드는 것이 아니라, 사람들이 설명만으로 공유 월드 안에서 무언가를 만들고 플레이할 수 있게 하는 것이라면, 바로 저희가 다루는 영역입니다. Cinevva를 체험해 보세요.
어떤 도구를 선택하든 최종 결정 전에 실제 프로토타입으로 검증하세요. 여기 소개한 도구는 모두 실제 게임을 구현할 수 있으며, 개발 도중 도구를 바꾸는 대가는 그동안 출시를 준비하는 데 쓰지 못한 수개월입니다.
자주 묻는 질문
PlayCanvas와 Babylon.js 중 무엇을 선택해야 하나요?
호스팅되는 Unity 스타일의 에디터와 에셋 파이프라인을 원하며, 에디터가 상용 제품이라는 점이 괜찮다면 PlayCanvas를 선택하세요. 공개 프로젝트에는 무료이고 비공개 프로젝트에는 유료입니다. 모든 기능이 무료 오픈 소스(Apache 2.0)이고 Havok 물리 엔진이 내장되어 있으며, 두 엔진 중 가장 발전된 WebGPU 렌더링을 원한다면 Babylon.js를 선택하세요. 두 엔진은 각각 MIT 또는 Apache 라이선스를 사용하며, 모두 WebGL2에서 실행되고 WebGPU도 지원합니다. 웹 게임 엔진 비교에서는 빌드 크기와 로딩 시간을 기준으로 평가하며, Three.js와 Babylon.js 비교에서는 라이브러리와 엔진의 차이를 다룹니다.
웹 게임에는 PlayCanvas와 Unity 중 무엇이 더 적합한가요?
웹 우선 게임이라면 PlayCanvas가 적합합니다. 런타임 크기는 1~2MB로 Unity의 빈 빌드가 8MB 이상인 것보다 훨씬 작고, 모바일에서 더 빠르게 시작되며, 에디터도 이미 브라우저에서 실행됩니다. 기존 Unity 프로젝트나 C# 팀이 있다면 Unity가 유리합니다. Unity 6.6에서는 WebGPU가 공식 웹 타깃으로 지원되면서 렌더링 격차도 줄었습니다. 두 도구에 대한 평가는 대체로 동일한 결론에 도달합니다. 브라우저 네이티브 배포에는 PlayCanvas가, 광범위한 생태계에는 Unity가 적합합니다. 세 엔진을 함께 비교한 내용은 웹용 Unity, Godot, PlayCanvas 비교를 참조하세요.
브라우저 게임에는 Three.js와 Unity 중 무엇이 더 적합한가요?
두 도구는 종류 자체가 다릅니다. Three.js는 MIT 라이선스의 150KB 렌더링 라이브러리입니다. 따라서 빌드 크기를 최소화하고 모든 것을 직접 제어할 수 있지만, 게임 시스템도 직접 구축해야 합니다. 또는 Cinevva처럼 Three.js를 기반으로 만든 엔진을 사용할 수 있습니다. Unity는 브라우저로 내보내는 완전한 게임 엔진입니다. 물리, 애니메이션, 에디터를 기본으로 제공하는 대신 다운로드 용량이 크고 모바일 시작 속도가 느립니다. 웹 우선 게임이고 엔지니어가 있다면 Three.js로 시작하세요. 게임이 이미 Unity로 제작되어 있다면 Unity를 사용하세요. 구체적인 수치는 전체 비교 가이드에서 확인할 수 있습니다.