Motores de juegos web en 2026: PlayCanvas vs Three.js vs Babylon.js vs Unity WebGL
Por Oleg Sidorkin, CTO y cofundador de Cinevva

Si quieres publicar un juego 3D que funcione en un navegador en 2026, tienes cuatro opciones generalizadas y algunas más recientes. Todas suelen agruparse bajo la etiqueta «motores de juegos web», pero en realidad son herramientas diferentes que resuelven problemas distintos. Elegir la equivocada puede costarte meses. Esta es una comparación actual y contrastada, escrita por personas que se dedican profesionalmente a crear un motor 3D web y que evaluaron todas estas opciones antes de desarrollar el suyo propio.
Repasaremos cada opción, qué es realmente, para quién está pensada y cuáles son sus puntos débiles, y al final te ofreceremos una breve guía para decidir. Cuando mencionamos números de versión, corresponden a septiembre de 2026 (motor PlayCanvas 2.22, Three.js r185, Babylon.js 9.25 y Unity 6.6).
¿Buscas una panorámica completa? Este artículo se centra en las cuatro opciones 3D más extendidas. Para ver una clasificación y comparación de los 11 motores web —incluidas opciones 2D como Phaser, Defold y Construct—, consulta nuestra guía de los mejores motores de juegos web para 2026.
Comparación rápida
| PlayCanvas | Three.js | Babylon.js | Unity WebGL | Cinevva | |
|---|---|---|---|---|---|
| Qué es | Motor completo + editor alojado | Biblioteca de renderizado | Motor completo + editor | Motor de escritorio con exportación web | Plataforma de mundos nativa de IA |
| Arquitectura | Entidad-componente (ECS) | Grafo de escena | Grafo de escena + componentes | GameObject/componente | Grafo de escena + constructor con IA |
| Programación | TypeScript / JavaScript | JavaScript (tú creas el resto) | TypeScript / JavaScript | C# (compilado a Wasm) | Lenguaje natural + código |
| Renderizador | WebGL2, WebGPU en proceso de maduración | WebGL2, WebGPU en crecimiento | WebGL2, WebGPU en rápido avance | WebGL2 (exportación), WebGPU compatible desde 6.6 (opcional) | Solo WebGPU |
| Editor | Alojado, comercial | Ninguno | Basado en web, gratuito | De escritorio, comercial | Inmersivo, dentro del mundo |
| Física | Ammo / integraciones | Aportas la tuya | Havok integrado | Integrada (PhysX) | Solucionador de personajes propio |
| Licencia | Motor MIT, editor propietario | MIT | Apache 2.0 | Propietaria | Propietaria |
| Ideal para | Juegos de navegador con flujo de trabajo de estudio | 3D personalizado, control total | Juegos con todo incluido | Adaptar juegos de Unity existentes | Creación de juegos con IA dentro del mundo |
El resto del artículo explica esta tabla.
PlayCanvas
PlayCanvas es lo más parecido que existe en la web a un flujo de trabajo al estilo de Unity. El motor es de código abierto bajo la licencia MIT y se encuentra en la versión 2.22.0 a septiembre de 2026; la versión 2.21 añadió una abstracción del backend de física y mapas cúbicos KTX2, y la 2.22 incorporó mezcla de doble fuente y una niebla volumétrica mejorada. Utiliza un sistema entidad-componente, permite escribir la lógica del juego en TypeScript o JavaScript y procesa los recursos mediante un pipeline del lado del servidor que genera archivos GLB. Hay juegos comerciales reales que funcionan con él, y grandes empresas lo utilizan en producción; Snap es un ejemplo público.
Conviene aclarar dos aspectos de PlayCanvas que suelen malinterpretarse. En primer lugar, aunque el motor tiene licencia MIT, el editor visual alojado que utiliza la mayoría de los equipos es un producto comercial, no de código abierto. Puedes usar el motor libremente sin él, pero el flujo de trabajo que combina editor y nube es la parte de pago. En segundo lugar, PlayCanvas está orientado principalmente a WebGL2. Dispone de una vía WebGPU, pero todavía está madurando y no es el renderizador predeterminado, así que no elijas PlayCanvas hoy esperando usar shaders de cómputo WebGPU en producción.
Donde PlayCanvas destaca de verdad es en el splatting gaussiano 3D. Su editor y visor SuperSplat, cuyo código abrió el equipo, se encuentran entre las mejores herramientas disponibles para capturar y publicar escenas de splats en la web, con streaming basado en WebGPU para capturas de gran tamaño. Si te interesan los entornos fotorrealistas escaneados, esta es una razón de peso para empezar aquí.
Elige PlayCanvas si quieres un editor parecido a Unity y un pipeline gestionado de recursos para el navegador, y estás desarrollando el tipo de juego que crearía un estudio. Busca otra opción si necesitas cómputo con WebGPU hoy mismo o quieres evitar un editor comercial alojado.
Three.js
Three.js no es un motor de juegos. Es una biblioteca de renderizado y, con mucha diferencia, la más utilizada en este ámbito. Te proporciona un grafo de escena, cámaras, luces, materiales, geometrías, cargadores y un renderizador, y ahí termina. No incluye editor, física ni sistema de entidades, y tampoco impone una forma de estructurar un juego. Debes añadir todo eso por tu cuenta o recurrir al ecosistema.
Ese intercambio lo define por completo. Obtienes el máximo control y la comunidad más grande del 3D web, a cambio de tener que crear o integrar todo lo que se sitúa por encima del renderizador. Su renderizador WebGPU ha avanzado de forma constante y ya puede utilizarse hoy —r185, de julio de 2026, es la versión actual—, aunque, como en los demás, la vía WebGL2 sigue siendo la opción predeterminada más madura. Three.js tiene licencia MIT.
Elige Three.js si quieres control total, una base mínima y cuentas con la capacidad técnica necesaria para desarrollar encima los sistemas de tu juego. Busca otra opción si quieres que te proporcionen un editor y sistemas de juego listos para usar.
Babylon.js
Babylon.js es un motor completo, con licencia Apache 2.0 y respaldado por un equipo de Microsoft. A diferencia de Three.js, incluye las piezas que de otro modo tendrías que integrar: un modelo de componentes, el motor de física Havok integrado, un editor web gratuito y un pipeline de recursos. Su implementación de WebGPU ha avanzado rápidamente y se encuentra entre las más desarrolladas de los motores de propósito general, aunque sigue manteniendo WebGL2 como vía de amplia compatibilidad. Babylon.js 9.0 —publicado en marzo de 2026 y ya en la versión 9.25 a septiembre de 2026— amplió aún más esa ventaja con iluminación agrupada en ambos backends, iluminación volumétrica basada en shaders de cómputo WebGPU y compatibilidad con sombras para splats gaussianos 3D.
Si tu planteamiento es «quiero un motor completo, con física incluida, y no me importa trabajar dentro de sus convenciones», Babylon es una opción predeterminada sólida y posiblemente la alternativa gratuita con más funciones de este ámbito.
Elige Babylon.js si quieres una solución con todo incluido, física integrada y un editor gratuito. Busca otra opción si quieres minimizar el tamaño de las dependencias o buscas específicamente un flujo de trabajo alojado al estilo de Unity.
Unity WebGL
Unity WebGL no es un motor web, sino un destino de exportación. Desarrollas en el editor de escritorio de Unity, con C#, y compilas el proyecto en un paquete WebGL que se ejecuta en el navegador mediante WebAssembly. Eso lo convierte en la respuesta obvia para un caso concreto: ya tienes un juego hecho con Unity y quieres crear una versión para navegador.
Para un proyecto concebido primero para la web, conlleva costes importantes. El entorno de ejecución y el tamaño de la descarga son considerables, el arranque es más lento que con un motor web nativo y el rendimiento en navegadores móviles es un problema conocido. Unity es propietario y su salida web predeterminada utiliza WebGL2. El backend WebGPU que comenzó como experimento en Unity 6 dejó de ser experimental en Unity 6.6, en agosto de 2026: ahora es una API gráfica totalmente compatible para compilaciones web, aunque sigue desactivada de forma predeterminada y cuenta con un ajuste Graphics Device Filtering que permite volver a WebGL2 según el dispositivo. Unity 6.6 también eleva a 16 GB el límite de memoria de Wasm. Sobre el papel, esto elimina la carencia de shaders de cómputo, pero no cambia el tamaño de la descarga ni los tiempos de arranque en móviles.
Elige Unity WebGL si tienes un proyecto de Unity existente que quieres llevar al navegador o si tu equipo ya trabaja exclusivamente con Unity. Busca otra opción si la carga instantánea en teléfonos de gama media es un requisito indispensable o si partes de cero con un proyecto concebido para la web.
El lugar de la creación nativa de IA y dentro del mundo
Todas las opciones anteriores comparten una premisa: una persona desarrolla el juego sentada ante un editor y publica un entorno de ejecución. Esa premisa es correcta para la mayoría de los proyectos y, si describe el tuyo, elige una de las cuatro opciones anteriores.
Conviene saber que ya no es la única posibilidad, porque está surgiendo una categoría diferente. Nosotros desarrollamos Cinevva, una plataforma de mundos basada exclusivamente en WebGPU donde los juegos se crean desde dentro del propio mundo. En lugar de abrir un editor, eres un avatar dentro del espacio y describes lo que quieres; un constructor con IA lo transforma en terreno, objetos y comportamientos mientras estás allí. La creación y el juego suceden en la misma sesión. Internamente, eso implicó apostar exclusivamente por WebGPU, crear terreno mediante shaders de cómputo, escribir un solucionador de personajes propio en lugar de utilizar un motor de física general y desarrollar un sistema de animación y retargeting. Explicamos todo ello en por qué creamos nuestro propio motor WebGPU.
Esto no sustituye a PlayCanvas ni a Babylon. Si eres desarrollador y estás creando un juego específico, esas son las herramientas adecuadas. Cinevva responde a otro objetivo: permitir que personas que no desarrollan motores creen y compartan espacios jugables con solo describirlos. Lo mencionamos aquí porque la pregunta «¿qué motor de juegos web debería utilizar?» tiene cada vez más una quinta respuesta que ni siquiera es un motor.
Matriz completa de funciones
La tabla rápida del principio resume lo esencial. Esta es la versión detallada, agrupada por subsistemas. Conviene tener en cuenta algunas notas para interpretarla. «Por tu cuenta» significa que debes aportar tu propia solución: el motor no la incluye, pero puedes añadirla mediante el ecosistema o tu propio código. Esto es especialmente relevante para Three.js, que está diseñado como biblioteca de renderizado, por lo que «Por tu cuenta» refleja una característica de su filosofía, no una carencia. «Solo mediante exportación» en Unity significa que la función existe en el editor de escritorio y se incorpora a la compilación WebGL, en lugar de ser nativa de la web. Las celdas de los competidores reflejan las funciones disponibles de serie y el comportamiento bien documentado a septiembre de 2026. Las celdas de Cinevva reflejan lo que funciona en nuestra versión publicada; «previsto» indica aquello que está diseñado pero aún no se ha desarrollado.
Renderizado
| Función | Cinevva | PlayCanvas | Three.js | Babylon.js | Unity WebGL |
|---|---|---|---|---|---|
| Renderizador principal | Solo WebGPU | WebGL2 (WebGPU beta) | WebGL2 (WebGPU en crecimiento) | WebGL2 (WebGPU avanzado) | WebGL2 (WebGPU compatible desde 6.6, opcional) |
| Shaders de cómputo en producción | Sí (dependencia central) | Beta | Mediante WebGPU | Sí (WebGPU) | Sí (WebGPU, Unity 6.6+) |
| Creación de shaders | Nodos TSL + cómputo | Fragmentos de shader / GLSL | GLSL + nodos (TSL) | Material de nodos / GLSL / WGSL | ShaderLab / HLSL |
| Iluminación agrupada / forward+ | Sí (froxel) | Sí | Por tu cuenta | Sí | Sí |
| Nubes volumétricas y meteorología | Sí | Por tu cuenta | Por tu cuenta | Parcial | Por tu cuenta |
| Herramientas de splatting gaussiano 3D | Previsto | Sí (SuperSplat, líder) | Comunidad | Sí | Plugins |
Mundo y terreno
| Función | Cinevva | PlayCanvas | Three.js | Babylon.js | Unity WebGL |
|---|---|---|---|---|---|
| Streaming integrado de mundos grandes | Sí (chunks de 64 m) | Por tu cuenta | Por tu cuenta | Por tu cuenta | Solo mediante exportación |
| Sistema de terreno | Mapa de alturas híbrido + marching cubes/SDF | Por tu cuenta | Por tu cuenta | Extensión | Integrado (escritorio) |
| Esculpido de terreno en tiempo de ejecución | Sí (GPU) | Por tu cuenta | Por tu cuenta | Por tu cuenta | No (durante la edición) |
| Cuevas y salientes (topología 3D real) | Sí (marching cubes) | Por tu cuenta | Por tu cuenta | Por tu cuenta | Por tu cuenta |
| Vegetación y hierba instanciadas por GPU | Sí | Sí | Por tu cuenta | Sí | Sí |
Física y personajes
| Función | Cinevva | PlayCanvas | Three.js | Babylon.js | Unity WebGL |
|---|---|---|---|---|---|
| Motor de física | Solucionador cinemático propio | Integración con Ammo | Por tu cuenta (Rapier/Cannon/Ammo) | Havok integrado | PhysX integrado |
| Dinámica de cuerpos rígidos | No (por diseño) | Sí | Por tu cuenta | Sí | Sí |
| Controlador de personaje | Sí (FSM multimodo) | Plantillas / Ammo | Por tu cuenta | Sí | Integrado |
| Colisiones integradas con el terreno (SDF) | Sí | No | Por tu cuenta | No | No |
Animación
| Función | Cinevva | PlayCanvas | Three.js | Babylon.js | Unity WebGL |
|---|---|---|---|---|---|
| Animación esquelética | Sí | Sí | Sí | Sí | Sí |
| Mezcla / máquina de estados | Sí (FSM de resolución) | Sí (grafo de estados de animación) | Mezclador (mezcla por tu cuenta) | Sí | Sí (Mecanim) |
| Retargeting de esqueletos | Sí (pipeline) | Limitado | Comunidad | Parcial | Sí (humanoide) |
| Cinemática inversa | Previsto | Limitada | Comunidad | Sí | Sí |
Multijugador y backend
| Función | Cinevva | PlayCanvas | Three.js | Babylon.js | Unity WebGL |
|---|---|---|---|---|---|
| Multijugador integrado | Sí (autoritativo en el edge) | Por tu cuenta (Photon/Colyseus) | Por tu cuenta | Por tu cuenta | Por tu cuenta (Netcode, no nativo de la web) |
| Mundo compartido persistente | Sí (Durable Objects por chunk) | Por tu cuenta | Por tu cuenta | Por tu cuenta | Por tu cuenta |
| Chat de voz espacial | Sí (WebRTC + HRTF) | Por tu cuenta | Por tu cuenta | Por tu cuenta | Por tu cuenta |
Creación y herramientas de autoría
| Función | Cinevva | PlayCanvas | Three.js | Babylon.js | Unity WebGL |
|---|---|---|---|---|---|
| Editor | Inmersivo, dentro del mundo | Alojado, estilo escritorio (comercial) | Ninguno (mínimo) | Basado en web (gratuito) | De escritorio (comercial) |
| Creación corpórea dentro del mundo | Sí | No | No | No | No |
| Creación mediante lenguaje natural / IA | Sí (constructor con IA) | No | No | No | No |
| Programación | Lenguaje natural + JS | TypeScript / JS | JavaScript | TypeScript / JS | C# |
Recursos y distribución
| Función | Cinevva | PlayCanvas | Three.js | Babylon.js | Unity WebGL |
|---|---|---|---|---|---|
| Flujo de procesamiento de recursos en el servidor | Sí (GLB + LOD + KTX2 + Draco) | Sí (GLB) | Solo cargadores | Herramientas de importación | Sí |
| Generación de recursos con IA integrada | Sí (3D, imágenes, audio, música) | No | No | No | No |
| Búsqueda federada de recursos | Sí (once proveedores) | Tienda de recursos | No | No | Tienda de recursos |
| Funciona en el navegador, sin instalación | Sí | Sí | Sí | Sí | Sí (pesado) |
| Licencia del motor | Plataforma propietaria | Motor MIT, editor propietario | MIT | Apache 2.0 | Propietaria |
El patrón de la matriz es lo que realmente importa. Los motores de propósito general distribuyen sus capacidades de forma horizontal: cada uno hace la mayoría de las cosas de manera competente y te deja a ti el mundo, el backend y el flujo de creación. Cinevva se concentra verticalmente: hace menos cosas, pero abarca todo el recorrido, desde el renderizador hasta un mundo compartido que creas desde dentro. Ningún enfoque es mejor en términos absolutos. Responden a preguntas distintas.
Cómo elegir
Elige la herramienta según la situación, no según una lista de funciones.
Si ya tienes un juego en Unity, expórtalo con Unity WebGL y acepta su peso. Si eres un estudio que quiere un flujo de trabajo basado en un editor para juegos de navegador, usa PlayCanvas. Si quieres un motor completo y gratuito con físicas incluidas, usa Babylon.js. Si quieres un control total y tienes un equipo capaz de construir sobre un renderizador básico, usa Three.js. Y si tu objetivo no es crear un solo juego, sino permitir que las personas creen y jueguen dentro de un mundo compartido describiendo cosas, esa es la categoría en la que trabajamos, y puedes probar Cinevva.
Elijas lo que elijas, evalúalo con prototipos reales antes de comprometerte. Cualquiera de estas opciones puede sostener un juego de verdad, y cambiar a mitad del desarrollo cuesta los meses que no dedicaste a lanzar el juego.
Preguntas frecuentes
PlayCanvas frente a Babylon.js: ¿cuál debería elegir?
Elige PlayCanvas si quieres un editor alojado al estilo de Unity y un flujo de procesamiento de recursos, y no te importa que el editor sea un producto comercial (gratuito para proyectos públicos y de pago para los privados). Elige Babylon.js si quieres que todo sea gratuito y abierto (Apache 2.0), físicas Havok integradas y el renderizado WebGPU más avanzado de los dos. Ambos motores tienen licencias MIT o Apache y ambos funcionan con WebGL2 y WebGPU por encima. Nuestra comparativa de motores de juegos web los puntúa según el tamaño de compilación y el tiempo de carga, y Three.js frente a Babylon.js analiza la cuestión de biblioteca frente a motor.
PlayCanvas frente a Unity para juegos web
Para un juego concebido primero para la web, PlayCanvas: su runtime ocupa entre 1 y 2 MB, frente a los más de 8 MB de una compilación vacía de Unity; arranca más rápido en teléfonos y su editor ya funciona en el navegador. Unity gana cuando ya tienes un proyecto de Unity o un equipo de C#, y Unity 6.6 redujo la diferencia de renderizado al convertir WebGPU en un destino web compatible. Las comparativas de ambos suelen llegar a la misma conclusión: PlayCanvas para una distribución nativa del navegador y Unity por su ecosistema. Consulta Unity frente a Godot frente a PlayCanvas para la web para ver la comparación entre los tres.
Three.js frente a Unity para juegos de navegador
Son herramientas de distinta naturaleza. Three.js es una biblioteca de renderizado de 150 KB con licencia MIT, por lo que ofrece las compilaciones más pequeñas y un control total, pero tienes que crear tú mismo los sistemas del juego (o usar un motor basado en ella, como Cinevva). Unity es un motor completo que se exporta al navegador, por lo que ofrece físicas, animación y un editor de serie, a costa de una descarga pesada y un arranque más lento en dispositivos móviles. Empieza con Three.js si el juego está concebido primero para la web y cuentas con ingenieros. Empieza con Unity si el juego ya existe en Unity. La guía comparativa completa incluye las cifras.