Unity ile harika bir oyun geliştirdiniz! Peki, bu oyunu milyonlarca oyuncuyla buluşturmaya hazır mısınız? Unity oyun yayınlama süreci, geliştirmenin kendisi kadar heyecan verici ve bir o kadar da dikkat gerektiren bir aşamadır. Bu kapsamlı rehberde, Unity ile geliştirdiğiniz mobil oyunlarınızı Android ve iOS platformlarına başarıyla nasıl yayınlayacağınızın temel adımlarını, ipuçlarını ve sıkça karşılaşılan sorunların çözümlerini detaylı bir şekilde ele alacağız.
Unity Oyun Yayınlama Sürecine Genel Bakış
Bir Unity oyununu mobil mağazalara taşımak, sadece “Build” butonuna basmaktan çok daha fazlasını içerir. Bu süreç; projenizi mobil platformlar için optimize etmeyi, gerekli sertifikaları ve profilleri oluşturmayı, doğru imzalama işlemlerini yapmayı ve son olarak oyununuzu mağazalara yüklemeyi kapsar. Android için Google Play Store, iOS için ise Apple App Store’a yönelik adımlar, benzerlikler gösterse de bazı kritik farklılıkları vardır.
1. Unity Proje Ayarları: Ortak Adımlar
Yayınlama sürecine başlamadan önce, projenizin Unity içerisinde doğru şekilde yapılandırılması gerekmektedir.
Build Settings (Derleme Ayarları)
File > Build Settings...yolunu izleyerek açın.- Sol panelden Android veya iOS platformunu seçin.
- Seçtiğiniz platformun üzerine tıklayıp
Switch Platformbutonuna basarak projenizi o platforma geçirin. Bu işlem biraz zaman alabilir. - Yayınlamak istediğiniz tüm sahnelerin (Scenes)
Scenes In Buildlistesinde olduğundan emin olun.
Player Settings (Oyuncu Ayarları)
Edit > Project Settings > Player yolunu izleyerek bu ayarlara ulaşabilirsiniz. Bu bölüm, oyununuzun cihazlarda nasıl görüneceğini ve davranacağını belirleyen kritik ayarları içerir.
- Company Name ve Product Name: Uygulamanızın ve şirketinizin adını girin. Bu isimler mağazalarda görünecektir.
- Version: Uygulamanızın görünen sürüm numarası (örn: 1.0.0).
- Bundle Identifier (Package Name): Bu, uygulamanızın benzersiz kimliğidir ve genellikle
com.SirketAdi.OyunAdiformatındadır (örn:com.unityegitim.benimoyunum). Hem Android hem de iOS için benzersiz olmalıdır. - Icon: Uygulamanızın ana ekran simgesini ayarlayın. Farklı çözünürlükler için birden fazla ikon ekleyebilirsiniz.
- Resolution and Presentation: Oyununuzun ekran yönelimini (
Portrait,Landscape) ve başlangıç çözünürlüğünü belirleyin. - Other Settings: Bu bölüm çok önemlidir:
- Scripting Backend: Genellikle
IL2CPPtercih edilir, çünkü daha iyi performans ve platform uyumluluğu sunar. - API Compatibility Level:
.NET Standard 2.1veya.NET 4.xseçeneğini uygulamanızın gereksinimlerine göre ayarlayın. - Target Architectures (Android): En azından
ARM64‘ü seçmelisiniz. Güncel Google Play politikaları sadece 64-bit mimarileri desteklemektedir. - Target SDK Version (Android): Google Play’in gerektirdiği minimum SDK sürümünü kontrol edin ve uygun olanı seçin.
Android İçin Unity Oyun Yayınlama Adımları
Android platformunda Unity oyun yayınlama süreci, bir Keystore oluşturmayı ve Google Play Console üzerinden uygulamanızı yönetmeyi içerir.
1. Keystore Oluşturma ve İmzalama
Android uygulamaları, Google Play’e yüklenmeden önce dijital olarak imzalanmalıdır. Bu imza, uygulamanın kimliğini doğrular ve güncellemelerin güvenli bir şekilde yapılmasını sağlar. İmzalama için bir Keystore dosyası oluşturmanız gerekir.
Player Settings > Publishing Settingsbölümüne gidin.Keystore Manageraltında, yeni bir Keystore oluşturmak içinCreate Newseçeneğini seçin.- Keystore’unuz için güvenli bir şifre belirleyin ve bu şifreyi asla unutmayın! Keystore dosyasını da güvenli bir yerde yedekleyin.
- Ardından, Keystore içinde bir
Key Alias(anahtar takma adı) oluşturmanız gerekecek. Bu anahtar için de bir şifre belirleyin. - Tüm bilgileri doldurduktan sonra, Unity projenizi derlerken bu Keystore ve anahtar bilgileri ile imzalayacaktır.
Önemli Not: Keystore dosyanızı ve şifrelerinizi kaybetmeniz durumunda, uygulamanıza yeni güncellemeler yayınlayamazsınız. Bu nedenle, yedekleme kritik öneme sahiptir.
2. Build Süreci: APK vs. AAB
Geleneksel olarak Android uygulamaları .apk formatında yayınlanırdı. Ancak Google, artık Android App Bundle (AAB) formatını önermektedir. AAB’ler, kullanıcının cihazına yalnızca ihtiyacı olan kaynakları indirerek uygulama boyutunu optimize eder.
Build Settingspenceresinde,Build App Bundle (Google Play)seçeneğini işaretleyin.Buildbutonuna tıklayın. Unity, projenizi derleyecek ve belirttiğiniz konuma bir.aabdosyası oluşturacaktır.
3. Google Play Console
Oyununuzu Google Play Store’a yüklemek için bir Google Play Developer hesabına ihtiyacınız var. Hesap oluşturduktan sonra:
- Yeni bir uygulama oluşturun.
- Uygulamanızın adını, açıklamasını, kategori bilgilerini girin.
- Mağaza listeleme öğelerini (ikonlar, ekran görüntüleri, tanıtım videosu) yükleyin.
- İçerik derecelendirme anketini doldurun.
- Gizlilik politikanızın URL’sini ekleyin.
App Bundlesbölümüne.aabdosyanızı yükleyin.- Test kanallarını (dahili test, kapalı test, açık test) kullanarak oyununuzu test edin.
- Her şey hazır olduğunda, uygulamanızı üretim kanalına taşıyarak yayınlayın.
iOS İçin Unity Oyun Yayınlama Adımları
iOS platformunda Unity oyun yayınlama, Android’e göre biraz daha karmaşıktır ve bir macOS işletim sistemine sahip bir bilgisayar ile Xcode yazılımına ihtiyaç duyar.
1. Apple Developer Program ve Gerekli Sertifikalar
- Apple Developer Program Üyeliği: Yıllık ücretli bir programdır. Uygulama yayınlamak için zorunludur.
- Certificates, Identifiers & Profiles: Apple Developer hesabınıza giriş yaparak bu bölüme ulaşın.
- Certificates: Bir
Development Certificate(geliştirme) ve birDistribution Certificate(dağıtım) oluşturmanız gerekecek. - App IDs: Oyununuz için benzersiz bir
App ID(Bundle Identifier ile aynı) oluşturun. - Devices: Geliştirme sürecinde oyununuzu test etmek istediğiniz cihazları buraya ekleyin.
- Provisioning Profiles: Hem geliştirme hem de dağıtım için
Provisioning Profile‘lar oluşturun. Bu profiller, uygulamanızın belirli cihazlarda çalışmasına ve belirli servisleri (push bildirimleri gibi) kullanmasına izin verir.
2. Unity’den Xcode Projesi Oluşturma
Build SettingspenceresindeiOSplatformunu seçtiğinizden emin olun.Buildbutonuna tıklayın. Unity, projenizi derleyecek ve belirttiğiniz konuma bir Xcode projesi oluşturacaktır.
3. Xcode ile İmzalama ve Yükleme
Oluşturulan Xcode projesini macOS cihazınızda açın:
- Projenizi açtıktan sonra, sol üstten projenizin ana hedefini (target) seçin.
Signing & Capabilitiessekmesine gidin.Automatically manage signingseçeneğini işaretleyin. Bu, Xcode’un sizin için uygun sertifika ve profilleri otomatik olarak yönetmesine yardımcı olur. Apple ID’nizle giriş yapmanız istenebilir.- Üst menüden
Product > Archiveseçeneğini seçin. Bu işlem, uygulamanızın dağıtıma hazır bir sürümünü oluşturacaktır. Archivespenceresi açıldığında, oluşturduğunuz arşivi seçin veDistribute Appbutonuna tıklayın.App Store Connectseçeneğini seçerek uygulamanızı App Store Connect’e yükleyin.
4. App Store Connect
Oyununuzu App Store’a yüklemek için bir Apple Developer hesabına sahip olmanız ve App Store Connect’i kullanmanız gerekir:
- App Store Connect’e giriş yapın ve
My Appsbölümünden yeni bir uygulama oluşturun. - Uygulamanızın adını, kategori bilgilerini, Bundle ID’sini girin.
- Mağaza listeleme öğelerini (ikonlar, ekran görüntüleri, tanıtım videosu) yükleyin.
- Gizlilik politikanızın URL’sini ekleyin.
TestFlightbölümünü kullanarak uygulamanızı beta testine açabilirsiniz.- Tüm bilgiler ve testler tamamlandığında, uygulamanızı incelemeye göndererek yayınlama sürecini başlatın.
Pratik İpuçları
- Sürüm Kontrolü ve Takibi: Her yeni yayınlamada, hem
Player Settingsiçinde gördüğünüzVersionnumarasını hem de Android içinBundle Version Code‘u, iOS için ise Xcode’dakiBuild Number‘ı artırmayı unutmayın. Bu, mağazaların güncellemeleri tanıması için kritik öneme sahiptir. - Kapsamlı Cihaz Testi: Uygulamanızı farklı Android ve iOS cihazlarda, farklı ekran boyutları ve performans seviyelerinde test edin. Sadece emülatörlere güvenmeyin.
- Mağaza Görselleri ve Açıklamaları: Oyununuzun mağaza sayfasındaki görseller (ekran görüntüleri, tanıtım videosu) ve açıklamalar, indirilme oranınızı doğrudan etkiler. Kaliteli, çekici ve bilgilendirici içerikler hazırlayın.
- Gizlilik Politikası: Uygulamanız kullanıcı verilerini topluyorsa (ki çoğu uygulama toplar), yasalara uygun bir gizlilik politikası URL’si sağlamak zorunludur. Bunu web sitenizde barındırabilir veya ücretsiz araçlar kullanabilirsiniz.
Yaygın Hatalar ve Çözümleri
-
Yanlış Keystore / İmzalama Hatası (Android): En sık karşılaşılan sorunlardan biridir. Keystore dosyasını kaybetmek veya yanlış şifre girmek, yeni güncellemeleri yayınlamanızı engeller.
Çözüm: Keystore dosyanızı ve şifrelerinizi birden fazla yerde güvenle yedekleyin. Şifreleri doğru girdiğinizden emin olun. -
Bundle Identifier Çakışması: Hem Android hem de iOS için
Bundle Identifier‘ın benzersiz olması gerekir. Daha önce başka bir uygulama tarafından kullanılan bir kimliği kullanamazsınız.
Çözüm: Benzersiz bir kimlik seçin ve yayınlamadan önce kontrol edin. -
SDK/NDK Kurulum Sorunları (Android): Unity’nin gerektirdiği Android SDK ve NDK versiyonlarının doğru yüklendiğinden emin olun. Unity Hub, bu bileşenleri yönetmek için en kolay yoldur.
Çözüm: Unity Hub üzerindenInstallssekmesinden Unity versiyonunuzun yanındaki dişli ikonuna tıklayarakAdd Modulesseçeneği ile gerekli Android bileşenlerini yükleyin. -
Provisioning Profile Hataları (iOS): Xcode’da veya App Store Connect’te yanlış veya süresi dolmuş bir
Provisioning Profilekullanmak build hatalarına yol açar.
Çözüm: Apple Developer portalında profillerinizi kontrol edin, süresi dolanları yenileyin ve Xcode’da otomatik imzalama seçeneğini kullanın. -
Bitcode Hatası (iOS): Bazen Xcode’da
Enable Bitcodeayarı nedeniyle yükleme sorunları yaşanabilir. Unity genellikle bunu yönetse de, bazı üçüncü parti eklentilerle sorun çıkabilir.
Çözüm: Xcode projenizinBuild SettingsbölümündeEnable BitcodeayarınıNoolarak değiştirmeyi deneyebilirsiniz.
Performans ve Optimizasyon Notları
Mobil oyunlar için performans, kullanıcı deneyimi açısından kritik öneme sahiptir. Unity oyun yayınlama sürecinde bu konuları göz önünde bulundurun:
- Build Boyutunu Küçültme: Daha küçük bir uygulama boyutu, daha hızlı indirme ve daha az depolama alanı demektir.
Texture Compression: Dokularınızı mobil platformlar için optimize edin (örn: ASTC, ETC2).Asset Bundles: Gerekli olmayan varlıkları oyunun ana paketinden ayırarak sonradan indirilmesini sağlayın.Code Stripping: Kullanılmayan kodları derleme sırasında kaldırarak uygulama boyutunu küçültün.Player Settings > Other Settings > Optimization > Managed Stripping Levelayarını artırabilirsiniz.- Frame Rate Optimizasyonu: Hedef cihazlarda akıcı bir deneyim için yüksek ve stabil bir kare hızı sağlayın.
Profiler: Unity’nin Profiler aracını kullanarak performans darboğazlarını tespit edin.Target Frame Rate:Application.targetFrameRatekomutu veyaPlayer Settingsiçindeki ayarlar ile oyununuzun hedef kare hızını belirleyebilirsiniz (örn: 30 veya 60 FPS).
Sonuç
Unity ile geliştirdiğiniz oyunlarınızı Android ve iOS platformlarına yayınlamak, titizlik ve dikkat gerektiren bir süreçtir. Bu rehberde ele aldığımız adımları takip ederek ve pratik ipuçlarını uygulayarak, Unity oyun yayınlama serüveninizi başarılı bir şekilde tamamlayabilirsiniz. Unutmayın, her başarılı yayınlama, yeni bir öğrenme ve gelişme fırsatıdır. Başarılar dileriz!



