2026’da web oyun motorları: PlayCanvas, Three.js, Babylon.js ve Unity WebGL karşılaştırması
Cinevva CTO'su ve Kurucu Ortağı Oleg Sidorkin tarafından

2026'da tarayıcıda çalışan bir 3D oyun yayınlamak istiyorsanız dört yaygın seçeneğiniz ve birkaç yeni alternatifiniz var. Bunların hepsi “web oyun motorları” adı altında toplansa da gerçekte farklı sorunları çözen, birbirinden oldukça farklı araçlardır. Yanlış olanı seçmek size aylar kaybettirebilir. Bu, web için 3D motor geliştirerek geçimini sağlayan ve kendi motorumuzu oluşturmadan önce bu seçeneklerin hepsini değerlendirmiş kişiler tarafından yazılmış, güncel ve doğruluğu kontrol edilmiş bir karşılaştırmadır.
Her seçeneğin gerçekte ne olduğunu, kimlere uygun olduğunu ve hangi noktalarda yetersiz kaldığını ele alacak, ardından kısa bir karar rehberi sunacağız. Belirttiğimiz sürüm numaraları Eylül 2026 itibarıyla günceldir (PlayCanvas engine 2.22, Three.js r185, Babylon.js 9.25, Unity 6.6).
Tüm seçenekleri mi arıyorsunuz? Bu yazı, yaygın dört 3D seçeneğine odaklanıyor. Phaser, Defold ve Construct gibi 2D seçenekleri de içeren 11 web motorunun tamamının sıralandığı ve karşılaştırıldığı 2026'nın en iyi web oyun motorları rehberimize göz atın.
Hızlı karşılaştırma
| PlayCanvas | Three.js | Babylon.js | Unity WebGL | Cinevva | |
|---|---|---|---|---|---|
| Nedir? | Tam motor + barındırılan editör | Render kütüphanesi | Tam motor + editör | Masaüstü motoru, web dışa aktarımı | Yapay zekâ odaklı dünya platformu |
| Mimari | Varlık-bileşen (ECS) | Sahne grafiği | Sahne grafiği + bileşenler | GameObject/bileşen | Sahne grafiği + yapay zekâ oluşturucu |
| Betik yazımı | TypeScript / JavaScript | JavaScript (geri kalanını siz geliştirirsiniz) | TypeScript / JavaScript | C# (Wasm'e derlenir) | Doğal dil + kod |
| Render altyapısı | WebGL2, olgunlaşan WebGPU | WebGL2, gelişen WebGPU | WebGL2, ilerleyen WebGPU | WebGL2 (dışa aktarma), 6.6'dan beri WebGPU desteği (isteğe bağlı) | Yalnızca WebGPU |
| Editör | Barındırılan, ticari | Yok | Web tabanlı, ücretsiz | Masaüstü, ticari | Dünya içinde, sürükleyici |
| Fizik | Ammo / entegrasyonlar | Kendiniz ekleyin | Yerleşik Havok | Yerleşik (PhysX) | Özel karakter çözücüsü |
| Lisans | Motor MIT, editör tescilli | MIT | Apache 2.0 | Tescilli | Tescilli |
| En uygun olduğu alan | Stüdyo tarzı tarayıcı oyunları | Özel 3D, tam kontrol | Her şeyi dâhil oyunlar | Mevcut Unity oyunlarını taşıma | Dünya içinde yapay zekâyla oyun oluşturma |
Yazının geri kalanı bu tabloyu açıklıyor.
PlayCanvas
PlayCanvas, web'de Unity tarzı bir iş akışına en çok yaklaşan seçenektir. Motor, MIT lisansı altında açık kaynaklıdır ve Eylül 2026 itibarıyla v2.22.0 sürümündedir. 2.21 sürümü fizik arka ucu soyutlaması ve KTX2 küp haritaları, 2.22 ise çift kaynaklı harmanlama ve daha iyi hacimsel sis desteği ekledi. Bir varlık-bileşen sistemi kullanır, oyun mantığını TypeScript veya JavaScript ile yazarsınız ve varlıklar, GLB üreten sunucu taraflı bir işlem hattından geçer. Gerçek ticari oyunlar bu motorla çalışıyor ve büyük şirketler bunu üretimde kullanıyor; Snap bunun kamuya açık örneklerinden biri.
PlayCanvas hakkında sıkça yanlış anlaşılan iki noktayı düzeltmekte fayda var. Birincisi, motor MIT lisanslı olsa da çoğu ekibin fiilen kullandığı barındırılan görsel editör açık kaynaklı değil, ticari bir üründür. Motoru editör olmadan ücretsiz olarak kullanabilirsiniz ancak editör ve bulut iş akışı ücretli kısımdır. İkincisi, PlayCanvas öncelikle WebGL2'ye dayanır. Bir WebGPU yolu vardır ancak bu yol varsayılan render altyapısı olmak yerine hâlâ olgunlaşma aşamasındadır. Bu nedenle üretimde WebGPU compute shader'ları kullanmayı bekliyorsanız bugün PlayCanvas'ı seçmeyin.
PlayCanvas'ın gerçekten öne çıktığı alan 3D Gaussian splatting'dir. Ekibin açık kaynaklı hâle getirdiği SuperSplat editörü ve görüntüleyicisi, büyük taramaları WebGPU tabanlı akışla sunma dâhil olmak üzere splat sahnelerini yakalayıp web'de yayınlamak için mevcut en iyi araçlardan bazılarıdır. Fotogerçekçi taranmış ortamlarla ilgileniyorsanız bu, buradan başlamak için gerçek bir nedendir.
Şu durumda PlayCanvas'ı seçin: Tarayıcı için Unity benzeri bir editör ve yönetilen varlık işlem hattı istiyorsanız ve bir stüdyonun geliştireceği türde bir oyun yayınlıyorsanız. Şu durumda başka seçeneklere bakın: WebGPU compute desteğine bugün ihtiyacınız varsa veya barındırılan ticari bir editörden kaçınmak istiyorsanız.
Three.js
Three.js bir oyun motoru değildir. Bir render kütüphanesidir ve açık ara farkla bu alanda en yaygın kullanılan seçenektir. Size bir sahne grafiği, kameralar, ışıklar, materyaller, geometri, yükleyiciler ve bir render altyapısı sunar; sonrasında ise durur. Editör, fizik veya varlık sistemi sağlamaz ve oyununuzu nasıl yapılandırmanız gerektiği konusunda herhangi bir yaklaşım dayatmaz. Bunları kendiniz eklersiniz veya ekosistemden edinirsiniz.
Tüm mesele bu ödünleşimden ibarettir. Render altyapısının üzerindeki her şeyi geliştirme veya bir araya getirme maliyeti karşılığında maksimum kontrol ve web 3D alanındaki en büyük topluluğa sahip olursunuz. WebGPU render altyapısı istikrarlı biçimde gelişti ve bugün kullanılabilir durumdadır (Temmuz 2026 tarihli r185 güncel sürümdür), ancak diğerlerinde olduğu gibi olgun varsayılan hâlâ WebGL2 yoludur. Three.js, MIT lisanslıdır.
Şu durumda Three.js'i seçin: Tam kontrol ve asgari bir temel istiyorsanız ve bunun üzerine oyun sistemlerinizi kurabilecek mühendislik gücüne sahipseniz. Şu durumda başka seçeneklere bakın: Editörün ve oyun sistemlerinin hazır olarak sunulmasını istiyorsanız.
Babylon.js
Babylon.js; Apache 2.0 lisanslı, Microsoft bünyesindeki bir ekip tarafından desteklenen tam kapsamlı bir motordur. Three.js'in aksine, normalde kendinizin bir araya getireceği parçalarla birlikte gelir: bileşen modeli, entegre Havok fizik motoru, ücretsiz web tabanlı editör ve varlık işlem hattı. WebGPU çalışmaları hızla ilerlemiştir ve genel amaçlı motorlar arasında en gelişmiş seçeneklerden biridir; ancak geniş uyumluluk için WebGL2 yolunu da korumaktadır. Babylon.js 9.0 (Mart 2026; Eylül 2026 itibarıyla 9.25), her iki arka uçta kümelenmiş aydınlatma, WebGPU compute shader'ları üzerine kurulu hacimsel aydınlatma ve 3D Gaussian splat'ler için gölge desteğiyle bu avantajı daha da ileri taşıdı.
“Eksiksiz bir motor ve dâhilî fizik istiyorum, motorun kuralları içinde çalışmak da benim için sorun değil” diye düşünüyorsanız Babylon güçlü bir varsayılan tercihtir ve muhtemelen bu alandaki en kapsamlı ücretsiz seçenektir.
Şu durumda Babylon.js'i seçin: Her şeyin dâhil olduğu bir çözüm, yerleşik fizik ve ücretsiz editör istiyorsanız. Şu durumda başka seçeneklere bakın: Çok küçük bir bağımlılık boyutu istiyorsanız veya özellikle Unity tarzı, barındırılan bir iş akışı arıyorsanız.
Unity WebGL
Unity WebGL bir web motoru değil, bir dışa aktarma hedefidir. Unity'nin masaüstü editöründe C# kullanarak geliştirme yapar ve projeyi WebAssembly üzerinden tarayıcıda çalışan bir WebGL paketine derlersiniz. Bu da onu belirli bir durum için bariz seçenek hâline getirir: Hâlihazırda bir Unity oyununuz vardır ve bunun tarayıcı sürümünü oluşturmak istiyorsunuzdur.
Web öncelikli bir proje içinse ciddi maliyetler getirir. Çalışma zamanı ve indirme boyutu yüksektir, başlangıç süresi yerel web motorlarına göre daha uzundur ve mobil tarayıcı performansının sorunlu olduğu bilinmektedir. Unity tescilli bir üründür ve varsayılan web çıktısı WebGL2'yi hedefler. Unity 6'da deneysel olarak başlayan WebGPU arka ucu, Unity 6.6 (Ağustos 2026) ile deneysel statüden çıktı: Artık web derlemeleri için tam olarak desteklenen bir grafik API'sidir. Yine de varsayılan olarak kapalıdır ve cihaz bazında WebGL2'ye geri dönen bir Graphics Device Filtering ayarı vardır. Unity 6.6 ayrıca Wasm bellek sınırını 16 GB'a yükseltir. Bu, compute shader açığını kâğıt üzerinde kapatır ancak indirme boyutunu veya mobildeki başlangıç sorununu değiştirmez.
Şu durumda Unity WebGL'yi seçin: Tarayıcıya taşımak istediğiniz mevcut bir Unity projeniz varsa veya ekibiniz zaten tamamen Unity ile çalışıyorsa. Şu durumda başka seçeneklere bakın: Orta sınıf telefonlarda anında yüklenme kesin bir gereksinimse ya da sıfırdan, web öncelikli bir projeye başlıyorsanız.
Yapay zekâ odaklı ve dünya içinde oluşturma bu tabloya nasıl uyuyor?
Yukarıdaki seçeneklerin hepsi aynı varsayımı paylaşır: Bir geliştirici, masa başında bir editör içinde oyunu geliştirir ve çalışma zamanı olarak yayınlar. Bu varsayım çoğu proje için doğrudur; projenizi tanımlıyorsa yukarıdaki dört seçenekten birini tercih edin.
Ancak bu varsayımın artık tek seçenek olmadığını bilmekte fayda var çünkü farklı bir kategori ortaya çıkıyor. Biz, oyunların dünyanın içinden oluşturulduğu ve yalnızca WebGPU kullanan bir dünya platformu olan Cinevva'yı geliştiriyoruz. Bir editör açmak yerine mekânda duran bir avatar olursunuz, istediğinizi tarif edersiniz ve yapay zekâ oluşturucu siz orada dururken bunu araziye, nesnelere ve davranışlara dönüştürür. Oluşturma ve oynama aynı oturum içinde gerçekleşir. Altyapıda bu yaklaşım; compute shader tabanlı araziyle yalnızca WebGPU kullanmayı, genel amaçlı bir fizik motoru yerine özel bir karakter çözücüsü yazmayı ve bir animasyon ile yeniden hedefleme sistemi geliştirmeyi gerektirdi. Bunları neden kendi WebGPU motorumuzu geliştirdik yazımızda anlattık.
Bu, PlayCanvas veya Babylon'ın yerine geçen bir çözüm değildir. Belirli bir oyun geliştiren bir geliştiriciyseniz doğru araçlar bunlardır. Cinevva ise motor geliştiricisi olmayan kişilerin, tarif ederek oynanabilir mekânlar oluşturmasını ve paylaşmasını sağlamaya yönelik farklı bir amaç taşır. Burada bundan bahsediyoruz çünkü “hangi web oyun motorunu kullanmalıyım?” sorusunun giderek daha sık verilen beşinci bir yanıtı var ve bu yanıt aslında bir motor değil.
Eksiksiz özellik matrisi
Yukarıdaki hızlı tablo ana hatları veriyor. Bu ise alt sistemlere göre gruplandırılmış ayrıntılı sürümdür. Tabloyu nasıl okuyacağınıza ilişkin birkaç açık sözlü not: “Kendin ekle”, motorun bu özelliği sunmadığı ancak ekosistemden veya kendi kodunuzla ekleyebileceğiniz anlamına gelir. Bu durum özellikle tasarımı gereği bir render kütüphanesi olan Three.js için önemlidir; dolayısıyla oradaki “Kendin ekle” ifadeleri bir eksiklik değil, yaklaşımın özelliğidir. Unity için “Yalnızca dışa aktarmada”, özelliğin masaüstü editöründe bulunduğu ve web'e özgü olmak yerine WebGL derlemesine aktarıldığı anlamına gelir. Rakip sütunları, Eylül 2026 itibarıyla kutudan çıktığı hâliyle sunulan özellikleri ve iyi belgelenmiş davranışları yansıtır. Cinevva sütunları yayınlanmış derlememizde çalışan özellikleri gösterir; “planlanıyor” ifadesi ise tasarlanmış ancak henüz geliştirilmemiş özellikleri belirtir.
Render
| Özellik | Cinevva | PlayCanvas | Three.js | Babylon.js | Unity WebGL |
|---|---|---|---|---|---|
| Birincil render altyapısı | Yalnızca WebGPU | WebGL2 (WebGPU beta) | WebGL2 (WebGPU gelişiyor) | WebGL2 (WebGPU gelişmiş) | WebGL2 (WebGPU 6.6'dan beri destekleniyor, isteğe bağlı) |
| Üretimde compute shader'lar | Evet (temel bağımlılık) | Beta | WebGPU aracılığıyla | Evet (WebGPU) | Evet (WebGPU, Unity 6.6+) |
| Shader geliştirme | TSL düğümleri + compute | Shader parçaları / GLSL | GLSL + düğüm (TSL) | Düğüm materyali / GLSL / WGSL | ShaderLab / HLSL |
| Kümelenmiş / forward+ aydınlatma | Evet (froxel) | Evet | Kendin ekle | Evet | Evet |
| Hacimsel bulutlar ve hava durumu | Evet | Kendin ekle | Kendin ekle | Kısmi | Kendin ekle |
| 3D Gaussian splatting araçları | Planlanıyor | Evet (SuperSplat, lider) | Topluluk | Evet | Eklentiler |
Dünya ve arazi
| Özellik | Cinevva | PlayCanvas | Three.js | Babylon.js | Unity WebGL |
|---|---|---|---|---|---|
| Yerleşik büyük dünya akışı | Evet (64 m parçalar) | Kendin ekle | Kendin ekle | Kendin ekle | Yalnızca dışa aktarmada |
| Arazi sistemi | Hibrit yükseklik haritası + marching-cubes/SDF | Kendin ekle | Kendin ekle | Uzantı | Yerleşik (masaüstü) |
| Çalışma zamanında arazi şekillendirme | Evet (GPU) | Kendin ekle | Kendin ekle | Kendin ekle | Hayır (düzenleme zamanında) |
| Mağaralar ve çıkıntılar (gerçek 3D topoloji) | Evet (marching cubes) | Kendin ekle | Kendin ekle | Kendin ekle | Kendin ekle |
| GPU örneklemeli bitki örtüsü ve çimen | Evet | Evet | Kendin ekle | Evet | Evet |
Fizik ve karakter
| Özellik | Cinevva | PlayCanvas | Three.js | Babylon.js | Unity WebGL |
|---|---|---|---|---|---|
| Fizik motoru | Özel kinematik çözücü | Ammo entegrasyonu | Kendin ekle (Rapier/Cannon/Ammo) | Yerleşik Havok | Yerleşik PhysX |
| Katı cisim dinamikleri | Hayır (tasarım gereği) | Evet | Kendin ekle | Evet | Evet |
| Karakter denetleyicisi | Evet (çok modlu FSM) | Şablonlar / Ammo | Kendin ekle | Evet | Yerleşik |
| Araziyle entegre çarpışma (SDF) | Evet | Hayır | Kendin ekle | Hayır | Hayır |
Animasyon
| Özellik | Cinevva | PlayCanvas | Three.js | Babylon.js | Unity WebGL |
|---|---|---|---|---|---|
| İskelet animasyonu | Evet | Evet | Evet | Evet | Evet |
| Harmanlama / durum makinesi | Evet (çözümleyici FSM) | Evet (animasyon durum grafiği) | Mixer (harmanlamayı kendin ekle) | Evet | Evet (Mecanim) |
| İskelet yeniden hedefleme | Evet (işlem hattı) | Sınırlı | Topluluk | Kısmi | Evet (insansı) |
| Ters kinematik | Planlanıyor | Sınırlı | Topluluk | Evet | Evet |
Çok oyunculu ve arka uç
| Özellik | Cinevva | PlayCanvas | Three.js | Babylon.js | Unity WebGL |
|---|---|---|---|---|---|
| Yerleşik çok oyunculu sistem | Evet (uçta yetkili) | Kendin ekle (Photon/Colyseus) | Kendin ekle | Kendin ekle | Kendin ekle (Netcode, web'e özgü değil) |
| Kalıcı paylaşılan dünya | Evet (parça başına Durable Objects) | Kendin ekle | Kendin ekle | Kendin ekle | Kendin ekle |
| Konumsal sesli sohbet | Evet (WebRTC + HRTF) | Kendin ekle | Kendin ekle | Kendin ekle | Kendin ekle |
Oluşturma ve içerik geliştirme
| Özellik | Cinevva | PlayCanvas | Three.js | Babylon.js | Unity WebGL |
|---|---|---|---|---|---|
| Editör | Dünya içinde, sürükleyici | Barındırılan masaüstü tarzı (ticari) | Yok (asgari) | Web tabanlı (ücretsiz) | Masaüstü (ticari) |
| Dünya içinde bedensel oluşturma | Evet | Hayır | Hayır | Hayır | Hayır |
| Doğal dil / yapay zekâyla oluşturma | Evet (yapay zekâ oluşturucu) | Hayır | Hayır | Hayır | Hayır |
| Betik yazımı | Doğal dil + JS | TypeScript / JS | JavaScript | TypeScript / JS | C# |
Varlıklar ve dağıtım
| Özellik | Cinevva | PlayCanvas | Three.js | Babylon.js | Unity WebGL |
|---|---|---|---|---|---|
| Sunucu taraflı varlık işleme hattı | Evet (GLB + LOD + KTX2 + Draco) | Evet (GLB) | Yalnızca yükleyiciler | İçe aktarma araçları | Evet |
| Yerleşik yapay zekâ ile varlık üretimi | Evet (3B, görsel, ses, müzik) | Hayır | Hayır | Hayır | Hayır |
| Birleşik varlık araması | Evet (on bir sağlayıcı) | Varlık mağazası | Hayır | Hayır | Varlık mağazası |
| Kurulum gerektirmeden tarayıcıda çalışır | Evet | Evet | Evet | Evet | Evet (ağır) |
| Motor lisansı | Tescilli platform | Motor MIT, editör tescilli | MIT | Apache 2.0 | Tescilli |
Tablodaki genel örüntü, asıl hikâyeyi anlatıyor. Genel amaçlı motorlar güçlerini yatay olarak dağıtır; her biri çoğu işi yetkin biçimde yapar ve dünyayı, arka ucu ve üretim akışını size bırakır. Cinevva ise dikey olarak odaklanır; daha az şey yapar ancak görüntü oluşturucudan, içinden üretim yaptığınız paylaşımlı bir dünyaya uzanan tüm süreci üstlenir. Soyut olarak bakıldığında iki yaklaşım da diğerinden daha iyi değildir. Farklı sorulara yanıt verirler.
Nasıl seçim yapılır?
Aracı bir özellik kontrol listesine göre değil, içinde bulunduğunuz duruma göre seçin.
Hâlihazırda bir Unity oyununuz varsa Unity WebGL ile dışa aktarın ve ağır yapıyı kabullenin. Tarayıcı oyunları için editör odaklı bir iş akışı isteyen bir stüdyoysanız PlayCanvas kullanın. Fizik sistemi dâhil, eksiksiz ve ücretsiz bir motor istiyorsanız Babylon.js kullanın. Tam kontrol istiyorsanız ve temel bir görüntü oluşturucu üzerine sistem kurabilecek bir ekibiniz varsa Three.js kullanın. Amacınız tek bir oyun geliştirmek değil de insanların nesneleri tarif ederek paylaşımlı bir dünyada içerik üretmesini ve oynamasını sağlamaksa, bizim çalıştığımız kategori budur ve Cinevva'yı deneyebilirsiniz.
Hangisini seçerseniz seçin, karar vermeden önce gerçek prototiplerle değerlendirme yapın. Bunların her biri gerçek bir oyunu taşıyabilir ve sürecin ortasında araç değiştirmenin bedeli, oyunu yayımlamak için harcamadığınız aylardır.
Sık Sorulan Sorular
PlayCanvas ve Babylon.js: Hangisini seçmeliyim?
Barındırılan, Unity tarzı bir editör ve varlık işleme hattı istiyorsanız ve editörün ticari bir ürün olmasını sorun etmiyorsanız (herkese açık projeler için ücretsiz, özel projeler için ücretli) PlayCanvas'ı seçin. Her şeyin ücretsiz ve açık olmasını (Apache 2.0), yerleşik Havok fizik sistemini ve ikisi arasındaki en gelişmiş WebGPU görüntü oluşturma özelliklerini istiyorsanız Babylon.js'i seçin. İki motor da MIT veya Apache lisanslıdır ve her ikisi de WebGPU desteğiyle WebGL2 üzerinde çalışır. Web oyun motorları karşılaştırmamız bu motorları derleme boyutu ve yükleme süresi açısından puanlarken Three.js ve Babylon.js karşılaştırması, kütüphane ile motor arasındaki farkı ele alıyor.
Web oyunları için PlayCanvas mı, Unity mi?
Önceliği web olan bir oyun için PlayCanvas'ı seçin: Çalışma zamanı, Unity'nin 8 MB'ı aşan boş derlemesine karşılık 1 ila 2 MB'tır, telefonlarda daha hızlı başlar ve editörü zaten tarayıcıda çalışır. Mevcut bir Unity projeniz veya C# ekibiniz varsa Unity öne çıkar. Ayrıca Unity 6.6, WebGPU'yu desteklenen bir web hedefi hâline getirerek görüntü oluşturma farkını azalttı. İkisine ilişkin değerlendirmeler genellikle aynı sonuca varıyor: Tarayıcıya özgü dağıtım için PlayCanvas, ekosistemi için Unity. Üçlü karşılaştırma için web'de Unity, Godot ve PlayCanvas karşılaştırmasına bakın.
Tarayıcı oyunları için Three.js mi, Unity mi?
Bunlar farklı türde araçlardır. Three.js, MIT lisanslı 150 KB'lık bir görüntü oluşturma kütüphanesidir; dolayısıyla en küçük derlemeleri ve tam kontrolü elde edersiniz ancak oyun sistemlerini kendiniz geliştirirsiniz (veya Cinevva gibi onun üzerine kurulmuş bir motor kullanırsınız). Unity ise tarayıcıya aktarılan eksiksiz bir motordur; bu nedenle ağır indirme boyutu ve mobil cihazlarda daha yavaş başlama pahasına fizik, animasyon ve editör özelliklerine hazır olarak sahip olursunuz. Oyunun önceliği web ise ve mühendislerden oluşan bir ekibiniz varsa Three.js ile başlayın. Oyun zaten Unity'de mevcutsa Unity ile başlayın. Rakamlar için kapsamlı karşılaştırma rehberine bakın.