Unity'de oyun geliştirmeyi kullanmaya başlayın

Bu kılavuzda tipik bir oyun geliştirme döngüsü açıklanmaktadır. Bu kılavuzu okuduktan sonra, referans olarak da kullanabilirsiniz.

Unity ile çalışırken geliştirme yaşam döngüsü üç aşamadan oluşur:

  • Planlayın ve tasarlayın
  • Geliştirme ve test etme
  • Yayınlama ve koruma

Planlayın ve tasarlayın

Plan ve tasarım aşamasında oyununuzu nasıl geliştireceğinizi belirlersiniz. Mobil cihazlar için geliştirmenin zorluklarını nasıl ele alacağınıza siz karar verirsiniz ve geliştirmede kullanılacak araçları ve süreçleri siz belirlersiniz.

Tüm ekip üyelerinden girdi alma

Uygulama görevlerini belirlemek ve kaydetmek için sanat, mühendislik, tasarım, ses ve üretim ekiplerinizle birlikte çalışın. Örneğin:

  • Sanat ekipleri, karakterler ve ortamlar için öğe dokusu ve örgü bütçeleri oluşturabilir.
  • Mühendislik, her bir platformda profil çıkarma için bellek ve performans kontrol noktaları belirleyebilir.
  • Tasarım, bu deneyimi mümkün kılan oyun mekaniklerini planlayabilir.
  • Ses uzmanları, kullanıcı arayüzü, 2D ve 3D uzamsal sesler arasındaki ses sürekliliğini inceleyebilir.
  • Üretim, lansman gerekliliklerini iletebilir ve ekibin uyumlu bir şekilde çalışmaya devam etmesini sağlayabilir.

Mobil cihazlar için tasarlayın

Mobil platformlar için uygulama geliştirmede göz önünde bulundurulması gereken belirli noktalar vardır. Örneğin:

  • Değişken ekran en boy oranları
  • Güç tüketimi
  • Termal ve işlemci kısıtlaması
  • Dokunmatik giriş
  • Platformlar arası geliştirme
  • Grafik API'ler (Vulkan veya OpenGL ES)

Mobil cihaz tasarımına özel dikkat edilmesi gereken hususlar hakkında ayrıntılı bilgi için Unity'den Unity'de Android geliştirme ve Google Play Akademisi'ne göz atın.

Geliştirme ve test etme

Geliştirme ve test aşamasında oyununuzu geliştirir, testler ve lansman öncesi hazırlık yaparsınız. Sizi lansman gereksinimlerini karşılamaya hazırlamak için Google Play'de sınırlı sayıda dahili test yaparsınız. Play Asset Delivery ve Unity Adreslenebilirler sistemlerine göre Unity'de dağıtım stratejinizi hassaslaştırır ve öğeleri düzenlersiniz.

Aşağıdaki bölümlerde Android için uygulama geliştirmenize yardımcı olmak üzere tasarlanmış Unity araçları ve teknikleri açıklanmaktadır.

Oluşturma

Oluşturma, Unity sahnenizdeki 3D ve 2D öğeleri ekranda çizme sürecidir. Oluşturmayı Unity motoru halleder ancak Android platformuna yönelik birkaç faktörü göz önünde bulundurmak önemlidir.

Dokular

Hedef cihazlarınıza bağlı olarak en büyük doku boyutlarına ihtiyacınız olup olmadığını belirleyin. Bellek ayırma profilini oluştururken hedef doku boyutunu değiştirmenin sağlayacağı olası tasarrufları inceleyin.

Kare süresi

Android cihazlarda aşırı ısınmayı önlemek için ortalama 21 milisaniyenin altındaki kare oluşturma süresi değerlerini hedefleyin. Bazen, yükleme sırasında veya kısa sinematik deneyimlerinde olduğu gibi kare süreleriniz 21 milisaniyeyi aşabilir. Ancak temel oyun deneyimi için 21 milisaniye eşiğinin altında kalmanız gerekir.

Mobil platformlarda zorunlu VSync, minimum hedefe ulaşmazsanız kare hızını kısıtlar. Örneğin, 60 Hz ekran güncellemesinde 60 fps'ye ulaşmazsanız oyununuz 30'a, 30'a ulaşmazsanız 15'e kısıtlanır.

Birçok Android cihazın 60 Hz ve 120 Hz ekran yenileme hızları mevcuttur. Daha yüksek oluşturma hızları için termal kısıtlama ve pil tüketimini riske atmadan çok daha kısa kare sürelerini (hedef 60 Hz güncelleme için 10 ms ve 120 Hz için 5 ms) hedeflemenin avantajlarını ölçün.

Unity'de oyununuzda belirli bir kare hızı ayarlamak için Application.targetFrameRate politikasını kullanın.

Android Frame Pacing kitaplığı, uygulamanızın sonraki kareyi sunması, ekran yenileme hızına göre daha uzun sürdüğünde sorunsuz bir şekilde işlemenize yardımcı olur. Unity 2021 ve sonraki sürümlerde Android kare hızının etkinleştirilmesi, ekran yenileme hızını hedef kare hızıyla en iyi eşleşmeye ayarlar. Bu, oyunun gereksiz ekran güncellemeleriyle pil gücünü harcamamasını sağlar.

Kitaplığı etkinleştirmek için Proje Ayarları > Oynatıcı'da, Android için Ayarlar altında Optimize Edilmiş Çerçeve İlerleme Hızı onay kutusunu işaretleyin.

Proje Ayarları > Oynatıcı Ayarları > Optimize Edilmiş Şöhret Hızı'nın gösterildiği iletişim kutusu
Şekil 1. Optimize Edilmiş Çerçeve İlerleme Hızı, Unity 2019.2 ve sonraki sürümlerde Oyuncu Ayarları altında bulunabilir.

Vulkan API'sı

Vulkan, OpenGL ES'ye kıyasla düşük ek yükü olan, platformlar arası ve yüksek performanslı bir 3D grafik API'sidir. Unity, Vulkan'ı iki farklı şekilde kullanabilir.

Otomatik Grafik API'sı

Auto Graphics API'yi Vulkan ile kullanabilirsiniz ama yüklediğiniz Unity sürümüne bağlı olarak bunun farklı davranışları olabilir. Proje Ayarları > Oynatıcı > Oluşturma bölümüne giderek bunu seçebilirsiniz.

Hangi Unity sürümünü kullanacağınızı seçerken aşağıdaki noktaları aklınızda bulundurun:

  • Unity 2021.1 ve önceki sürümler, AutoGraphics API ile Vulkan'ı desteklemez. Unity, OpenGL ES 3.2'yi kullanmaya çalışır. Cihaz OpenGL ES 3.2'yi desteklemiyorsa Unity, sırasıyla OpenGL ES 3.1, 3.0 veya 2.0'a geri döner.
  • Unity 2021.2 ve sonraki sürümlerde ilk olarak Vulkan kullanılır. Cihaz Vulkan'ı desteklemiyorsa Unity, OpenGL ES 3.2, 3.1, 3.0 veya 2.0'a geri döner.
Proje Ayarları > Oynatıcı Ayarları > Oluşturma > Auto Graphics API
Şekil 2. Auto Graphics API ayarı.

Manuel grafik API'leri

Alternatif olarak, Auto Graphics API'yi devre dışı bırakarak Vulkan'ı manuel olarak etkinleştirebilirsiniz. Unity 2021.1 veya önceki bir sürümü kullanıyorsanız Vulkan'ı kullanmanın tek yolu budur.

Vulkan bu listede OpenGL ES'den daha üst sırada yer alıyorsa Unity önce Vulkan'ı kullanmayı dener. Cihaz Vulkan'ı desteklemiyorsa Unity, OpenGL ES ile çalışır. Android'de Vulkan hakkında ayrıntılı bilgi edinmek (örneğin, modern grafik API'lerini kullanma ve oyununuzun performansını optimize etme) için Vulkan'ı kullanmaya başlama bölümüne bakın.

Proje Ayarları > Oynatıcı Ayarları > Oluşturma > Grafik API'leri
Şekil 3. Auto Graphics API devre dışı bırakıldığında grafik API'lerini manuel olarak ayarlayın. İlk seçenek Vulkan'dır. Unity, OpenGL ES 3.0'a geri dönüyor.

Çekim çağrıları

Ekranda görüntülenen her şey bir veya daha fazla çizim çağrısıyla ilişkilendirilir. Mobil platformlarda, grafik işleme birimine (GPU) gönderdiğiniz çizim çağrılarının sayısını optimize etmeli ve azaltmalısınız.

Çağrıları trafik ışığının yanında duran arabalara benzer şekilde düşünebilirsiniz. Işık yeşile döndüğünde, ışık değişmeden önce belirli sayıda araba geçebilir. Işık sarıya döndüğünde ideal hedef kare sürenize (21 milisaniye) ulaşmışsınızdır ve ışık kırmızıya döndüğünde 33 milisaniyelik kare süresi sınırına ulaşmış olursunuz. Sonraki oluşturma karesini etkileyen her şey, yani sonuçta elde edilen kare hızı hedef 30 fps'nizden daha düşüktür.

Oyununuzda çizim çağrısı performansını nasıl iyileştireceğiniz hakkında bilgi için Unity Destek'in toplu oluşturma makalesine göz atın.

Gölgeler

Gölge yayınlama çizim çağrıları, basit ortamlarda bile en fazla GPU zamanı gerektiren GPU'lar arasında en yüksek yoğunluk olabilir. Gölge yayınlama çağrılarının maliyetini azaltmak için yumuşak gölgeler yerine sert gölgeler kullanmayı deneyin. Bu yöntem, düşük kaliteli cihazlar için GPU'da hâlâ çok pahalıysa sert gölgeler yerine blob gölgeleri kullanmayı düşünün.

Doku

Android'de RGB ve RGBA dokuları için önerilen doku sıkıştırma biçimi ASTC'dir. Unity'de, Android'de kullanmanız gereken minimum doku sıkıştırma seçeneği ETC2'dir. Unity Derleme Ayarları altında ASTC'den yedek olarak ETC2'ye geri dönebilirsiniz.

Platforma göre desteklenen biçimlerin tam listesini Kılavuz: Platforma göre önerilen, varsayılan ve desteklenen doku biçimleri bölümündeki Unity dokümanlarında bulabilirsiniz.

Kullanıcı arayüzü ve en boy oranları

Çeşitli cihaz ekran çözünürlüklerini, yönlerini ve en boy oranlarını doğrudan Unity Editor'da önizlemek için Unity Cihaz Simülatörü aracını kullanabilirsiniz. Oyun görünümü ve Cihaz Simülatörü görünümleri arasında geçiş yapabilirsiniz.

Aracın önizlemesini Unity'de Cihaz Simülatörüyle Oyununuzu Simüle Edin sayfasında görebilirsiniz.

Şekil 4. Trivial Kart çalıştıran cihaz simülasyon aracı.

Trivial Kart kaynak kodunu GitHub'daki games-samples deposunda bulabilirsiniz.

Açılır menüden cihaz seçeneklerini belirleyerek Cihaz Simülatörü görünümündeki kullanıcı arayüzü tuval öğelerinin düzenini ve doğruluğunu hızlı bir şekilde doğrulayabilirsiniz:

Proje Ayarları > Oynatıcı Ayarları > Optimize Edilmiş Çerçeve İlerleme Hızı
Şekil 5. Cihaz Simülasyon Aracı, düzenleyici içinde cihaz değiştirmeyi desteklediğinden tasarım sorunlarını erkenden tespit edebilirsiniz.
Proje Ayarları > Oynatıcı Ayarları > Optimize Edilmiş Şöhret Hızı
Şekil 6. Cihaz Simülasyon Aracı paketini indirmeden önce Yayın Öncesi Paketleri Etkinleştir'i işaretleyin.

Unity ile ilgili daha fazla kullanıcı arayüzü optimizasyon tekniği için Unity'deki şu eğiticiye göz atın: Unity Kullanıcı Arayüzünü Optimize Etme.

Fizik

Nvidia PhysX motoru, Unity'de yerleşik olarak bulunur. Varsayılan ayarlar mobil cihazlarda pahalı olabilir, bu nedenle aşağıdakileri göz önünde bulundurun:

  • Hedef kare hızınızı göz önünde bulundurun ve sabit zaman adımını buna göre belirleyin. Varsayılan değer 0,02 ms veya 50 Hz'dir. 30 fps hedefi için değeri 0,03 veya daha yüksek bir değere çıkarabilirsiniz.
  • Belirli katman türlerindeki oyun nesneleri arasındaki etkileşimleri belirlemek için örgülü çarpışmalarını basitleştirmeyi ve Katman Çarpışma Matrisini en aza indirmeyi düşünün.

Fizik ayarları ve mobil oyunlara yönelik optimizasyonlar hakkında bilgi için Unity'den Mobil Oyunlarınızı Optimize Etme e-kitabına bakın.

Profil

Uygulama geliştiriciler, uygulama kritik bir hata noktasına ulaşana kadar genellikle profil oluşturmayı göz ardı eder veya göz ardı eder. Süreciniz için özel profil çıkarma zamanı planlamak ve aşağıdaki en iyi uygulamalardan yararlanmak iyi bir fikirdir:

  • Geliştirme sırasında, rastgele hale getirmek yerine profil oluşturma zamanını ayırabileceğiniz önemli noktaları belirleyin.
  • Unity Profil Analiz Aracı ile kullanmak üzere profil anlık görüntülerini kaydedin.
  • Oyununuzun mevcut geliştirme aşamasında gösterdiği performansı doğru bir şekilde görmek için hedef cihazlarda oyununuzun profilini çıkarın.
  • Oyununuzun farklı bölümlerinin profilini çıkarın.
  • Oyuncularınızın oyunu nasıl oynadığının profili. (Oyununuzun profilini yalnızca boşta veya duraklatma ekranındayken oluşturmayın.)
  • Mobil cihazlar sıcak olduğunda karşılaşabileceğiniz kısıtlama sorunlarını bulmanıza yardımcı olmak için oyun bir süre çalıştırıldıktan sonra uzun süreli modda profil oluşturun.

Aşağıdaki profil oluşturma araçlarını ayrı ayrı veya birlikte kullanabilirsiniz.

  • Unity Profiler Unity Profiler, Unity Editor'da kodunuza karşı çalıştırabilen ve geliştirme modu derlemeleri çalıştıran bağımsız Android cihazınıza bağlanabilen, tamamen entegre bir performans analizi aracıdır.

  • Android GPU Denetleyici ile Android GPU Denetleyici (AGI) ile kare düzeyinde hata ayıklama işlemi gerçekleştirebilirsiniz. AGI; GPU, CPU, bellek, pil ve GPU sayaçları dahil sistem hizmetlerini de analiz eder.

Unity'de oyununuzun profilini oluşturma hakkında ayrıntılı bilgi için Unity'de profil oluşturmaya giriş videosunu izleyin veya her ikisi de Unity'den Unity oyunlarının profilini oluşturma hakkında kapsamlı kılavuz'u okuyun.

Bellek yönetimi

Android işlemleri, hedef cihazdaki mevcut belleği paylaşır. Hedef test cihazı yeterli miktarda boş bellek kaynağına sahip olduğunda bellek kullanımını profillendirmeniz gerekir. Oturumları ve bellek kullanım trendlerini uygun şekilde karşılaştırabilmek için oyununuzda tutarlı bir noktada bellek testleri gerçekleştirin.

C# ile yazılmış komut dosyalarıyla çalışırken dizelerin, dize karşılaştırmalarının ve dizeyle ilgili nesnelerin (oyun ayarları için JSON dosyaları gibi) tahsis edilmesi konusunda dikkatli olun. Bunlar, sık bellek ayırmaları oluşturur ve parçalanmaya katkıda bulunabilir.

Dizelerin yerinde birleştirme ("this" + "is" + "a" + "bad" + "idea" ve StringBuilder.Concat() işlev çağrısı gibi) yerine, büyük dize değişikliği dizileri için StringBuilder sınıfını kullanmayı düşünün.

Dizeler hakkında daha fazla bilgi için Unity belgelerinde Dizeler ve metin bölümüne bakın.

TextAsset ve JSON metin kaynaklarını tercih edilen ScriptableObject türüne göre değerlendirin. ScriptableObjects, sahneler arası veri depolamayı verimli bir şekilde işler ve Editor'dan Oynat'a kadar geçen sürede değişiklik yapılmasını sağlar.

Mobil optimizasyon için varsayılan JSON herkese açık kullanıcı yerine alternatiflerin kullanılmasıyla ilgili olarak Hutch'taki Ağ oyunlarında gizli optimizasyon başlıklı makaleyi inceleyin.

Çalışma zamanında bellek kullanımınızın nasıl göründüğünü belirlemek için Memory Advice API'den yararlanın. API yüksek, normal ve düşük bellek kullanımı için bir durdurma ışığı göstergesi gösterir. Güncellemeler için göstergeye abone olabilir veya mevcut durumu öğrenmek için doğrudan yoklayabilirsiniz. Kırmızı sinyal aldığınızda oyun nesnesi havuzunu veya önbelleğini azaltmayı düşünün. Bu bağlamı canlı işlemler sırasında oyun telemetrinize dahil edin ve lansmandan sonra performans metriklerini inceleyin.

Android cihazlarda bellek düzenini ve Unity'nin bu bellekle birlikte nasıl çalıştığını ayrıntılı olarak incelemek için Android bellek kullanımını anlama (Google I/O 2018'de) videosunu izleyin. Videoda, bellek sorunu türleri ve düşük bellek kesicinin ne zaman etkinleştiği anlatılmaktadır.

Atık toplama

Yönetilen bellek ortamında atık toplama işlemi, uygulamalar için geri dönüştürülebilen kullanılmayan bellek parçalarını temizler. Bellek kaynaklarının gereksiz yere ayrılmasını önlemek için çöp toplamayla ilgili en iyi uygulamaları izleyin.

Örneğin, isteğe bağlı ayırma (GameObject.Instantiate) kullanmak yerine bir oyun nesne havuzu oluşturun. Büyük havuzlarda oyununuzun giriş düzeyindeki Android cihazlarda yanıt vermeme riskini azaltmak için birden fazla kareye ayırma seçeneğini değerlendirin.

Bir MonoDavranış'ın başlangıcından itibaren çağrılan basit bir eş yordam için aşağıdaki kod snippet'ini düşünün:

// Option 1: Bad for memory management - causes allocation each iteration
IEnumerator UpdateEnemyTarget() {
  while (enabled) {
    yield return new WaitForSeconds(1.0f);
    // Some intermittent function check
  }
}

// Option 2: Better for memory management - allocation of yield instruction once, reused each iteration
private YieldInstruction waitForSecond = new WaitForSeconds(1.0f);
IEnumerator BetterUpdateEnemyTarget() {
  while (enabled) {
    yield return waitForSecond;
    // Some other intermittent function
  }
}

MonoBehaviour şablon dosyasını düzenleyerek varsayılan Start() ve Update() saplama işlevlerini kaldırabilirsiniz. Böylece, uygulama geliştirirken yanlışlıkla boş işlevler bırakmazsınız.

MonoDavranış etkinliklerinin yürütülme sırasına genel bakış için Unity belgelerindeki Etkinlik işlevleri için yürütme sırası bölümüne bakın. Bellek yönetimi hakkında daha fazla bilgi edinmek için Unity'de Bellek Yönetimi kursuna bakın.

Mobil oyun performansı optimizasyonu ipuçları için Mobil oyun performansınızı optimize etme: Unity'nin en iyi mühendislerinden profil oluşturma, bellek ve kod mimarisiyle ilgili ipuçları sayfasına göz atın.

Prefabrik havuz

CPU kare süresi artışlarının neredeyse tamamı oyun sırasında Prefab örneklendirmesinden kaynaklanır. Oyuna başlamadan önce mermiler, fark edilebilir düşmanlar ve görsel efektler için nesne havuzlarını önceden ısıtmayı düşünün. Böylece başlangıçtaki CPU artışlarını azaltın veya ortadan kaldırın. Ek optimizasyonları, sahnenizdeki yükleme veya tanıtım sıraları sırasında birden fazla "ilk kullanıma hazırlama çerçevesine" dağıtabilirsiniz.

Unity Asset Store'da, oyun nesne havuzlama yönetimiyle ilgili birçok üçüncü taraf havuzlama öğesi bulabilirsiniz. Kendiniz de etkileşim oluşturabilirsiniz. Unity Learn'de Nesne Havuzlamaya Giriş bölümüne bakın.

Öğe teslimi

Google Play'e ilk dağıtıldığında uygulamanızın büyüklüğüyle ilgili sınırlamalar vardır. Oyununuzun boyutuna ve yapısına bağlı olarak, oyuncuların istediğiniz deneyimi yaşayabilmesi için oyun kaynaklarınızın bir kısmına veya tamamına (karakter modelleri, ortamlar, kullanıcı arayüzü öğeleri vb.) ihtiyacınız olabilir.

Yükleme zamanında, hızlı takip veya isteğe bağlı olarak oyununuzun gerektirdiği öğeleri yönetmek için Play Asset Delivery (PAD) hizmetini kullanabilirsiniz. Unity Asset Bundle, PAD'ı desteklemek için entegredir. Bu aracı, hangi öğelerin yayınlanacağını belirlemek için kullanabilirsiniz.

Adreslenebilirler

Adreslenebilirler adlandırma sistemini hazırlayıp incelerseniz çalışma zamanında prefabs, dokular ve ses dosyaları gibi dinamik kaynakları ayarlamak artık karmaşık bir işlem değildir. Adreslenebilir öğeler, içeriğinizi oluşturma ve yükleme şeklinizden içerik düzenleme şeklinizi ayırır. Adreslenebilirler sistemi, öğeleri referans gösterme ve çalışma zamanında yükleme şeklinizi basitleştirmek için Kaynaklar klasörlerinin ve Öğe Paketlerinin yerini almıştır.

Örnek için GitHub'da Adreslenebilirler paketini kullanan Demo projesi bölümüne bakın. Adreslenebilir öğelerin geliştirilmesi hakkında ayrıntılı bilgi için Unity Blogu'ndaki Adreslenebilir Öğe Sistemi bölümüne bakın.

Adreslenebilir öğe düzeniyle çok az veya çok fazla öğeyi ortak gruplarda gruplandırmanın avantajları ve dezavantajları vardır. Adreslenebilirler ile içerik yönetimi hakkında daha fazla bilgi edinmek için Adreslenebilirler ile içerik yönetiminizi basitleştirme bölümüne bakın.

Bağımsız bir demo oluşturup, Adreslenebilirler sistemini rahatça kullanmak için erişim modlarını deneyebilirsiniz. Ayrıca Unity 2019.3 ve sonraki sürümleri için BuildLayout Explorer adlı açık kaynak projeyi görebilir ve Adreslenebilirler tarafından oluşturulan buildlayout.txt raporunu inceleyebilirsiniz.

Bir Unity Açık Projesi olan Chop Chop'un öğeleri, tüm yükleme ve boşaltma işlemleri için Adreslenebilirler sistemi kullanılarak paketlendi. Adreslenebilir öğeler paketinin yapılandırılması ve kurulumuyla ilgili adım adım açıklamalı kılavuz için Adreslenebilir Öğelerle içerik paketleme | Open Projects Devlog bölümüne bakın.

Chop Chop projesinde, varsayılan olarak yüklenen tek sahne olan Başlatma sahnesi, projedeki öğelere (sahneler, prefabs vb.) doğrudan bağlantılar yerine AssetReferences kullanacak şekilde yapılandırılmıştı.

Unity Open Project: Chop Chop kaynak kodunu GitHub'da bulabilirsiniz. Proje artık geliştirme aşamasında olmasa da git deposu ve belgeleri kullanılabilir.

Üçüncü taraf eklentiler

Unity Asset Store'dakiler gibi üçüncü taraf eklentileri kullanıyorsanız klasörleri incelediğinizden ve gereksiz öğeleri Resources (Kaynaklar) klasörlerinden kaldırdığınızdan emin olun. Derleme işlemi sırasında Unity, Kaynaklar klasörlerindeki tüm öğeleri toplar ve bunları çalışma zamanında erişilebilen tek bir pakette paketler. Bu, nihai pakete şişkinlik katabilir ve genellikle gerekli değildir.

Tüm kaynak klasörlerini hızlı bir şekilde bulmak için Proje panelinde Kaynaklar'ı arayın. Daha sonra her birini seçerek içeriğini ve oyununuz için gerekli olup olmadığını belirleyebilirsiniz.

Şekil 7. Unity Asset Store'dan indirilen klasörlerde gizlenmiş birden fazla Resources (Kaynaklar) klasörü olabilir. Bunları uygulama paketinizde paket haline getirmemek için temizleyin.

Yayınlama ve koruma

Mobil oyununuzu kullanıma sunmaya hazır olduğunuzda, kime yayınlamak istediğinize, alfa ve beta testlerini nasıl yapacağınıza ve lansmandan sonra performansı nasıl izleyip takip edeceğinize karar verin.

Sınırlı bir sürümden gelen geri bildirimleri analiz edin

Sınırlı, hedeflenmiş bir kitlenin lansmanını yapabilir ve daha geniş ölçekli beta testi gerçekleştirebilir ya da oyununuzu tüm pazarlarda tam kullanılabilirlik için etkinleştirebilirsiniz. Sınırlı bir sürümle, daha geniş bir canlı kitleye ve cihaz koleksiyonuna bağlı olarak uygulamanızın performansını ayarlayabilirsiniz.

Örneğin, uygulama performansınız ve oyuncu trendleri hakkında analizlere ulaşmak için Unity için Android Performance Tuner ve Unity için Google Analytics'i kullanabilirsiniz. Geliştirme ekibiniz, bu analizlerden yararlanarak güncellemeleri ayarlayabilir ve iletebilir. Analiz verilerinizi, benzer türdeki devam filmlerini veya ilgili oyunları planlamak için de kullanabilirsiniz.

Alfa ve beta testi

Google Play Console'da uygulama profilinizi oluşturduktan sonra, herkese açık alfa ve beta test derlemelerini hazırlayabilir ve bunları lansman öncesi inceleme için sınırlı bir kitleye dağıtabilirsiniz. Uygulamanızı sınırlı bir kitle için kullanıma sunarak, son sorunları daha büyük bir cihaz havuzunda ele alabilir ve küresel sürümü yayınlamadan önce yanıt verebileceğiniz ilk geri bildirimleri toplayabilirsiniz.

Unity derlemeleriniz Android App Bundle üzerinden dağıtılır. Daha fazla bilgi için Unity'den Manuel: Google Play'e yayınlama adlı kılavuza bakın. Bu kılavuzda, APK dosyalarından AAB biçimine yapılan değişiklikler de açıklanmaktadır.

İzleme ve takip etme

Oyununuzun LiveOps ve dağıtım aşamasında, geliştirme ve test sırasında erişiminiz olmayabilecek cihazlardaki performans sorunlarını takip etmenize yardımcı olması için Android vitals'ı kullanabilirsiniz. Ayrıntılı bilgi için Erişim ve cihazlar ile Android vitals'daki oyunlarla ilgili yenilikler başlıklı videoyu izleyin.

Genellikle büyük geliştirme ekiplerinin cihaz performansıyla ilgili metrikler sağlayan benzersiz ve özel oyun telemetri ardışık düzenleri vardır. Kare hızları, grafik kalitesi, yükleme süresi ve yüklemeden vazgeçmeyle ilgili metrikleri telefonla katılmak için Android Performance Tuner (APT) ve ilgili Unity eklentisinden yararlanmayı unutmayın. Android Performance Tuner'ı Unity oyununuza entegre etme başlıklı makaledeki adım adım açıklamalı kılavuzu inceleyin.

Oyununuzun yaşam döngüsü, siz yayınladıktan sonra sona ermez. Performansı ve geri bildirimleri izlemek, sürdürmek ve bunlara yanıt vermek; mutlu kullanıcılar, olumlu yorumlar ve oyununuzun tüm pazarlarda nihai olarak benimsenmesi için kritik öneme sahiptir.