Unity 3D, hem Android hem iOS platformları için mobil oyun geliştirmenin en yaygın yolu olmaya devam ediyor; ücretsiz başlangıç lisansı, geniş dokümantasyonu ve her iki işletim sistemine tek kod tabanından derleme yapabilmesi, onu yeni başlayanlar için en erişilebilir motor seçeneği hâline getiriyor. C# ile yazılan scriptler, Unity'nin bileşen tabanlı mimarisiyle birleşince oldukça hızlı prototip üretmek mümkün; temel programlama mantığını kavrayan biri, birkaç haftada ilk oynanabilir prototipi çalıştırabilir. Kısa yanıtla: evet, sıfırdan öğrenilebilir; ancak disiplinli bir öğrenme planı ve pratik yapmak şart.
Bu rehber; kurulumdan sahne tasarımına, C# temelleri ile mobil derleme sürecine kadar her adımı sistematik şekilde ele alıyor. Okuduktan sonra Unity ekosistemini anlamlandırmak için başka bir kaynağa gitmenizi gerektirmeyecek biçimde hazırlandı.
Özel Ders Alanı
En İyi Unity Öğretmenlerinden Ders Al
Mobil Oyun Motorları Arasında Unity'nin Yeri
Mobil oyun motorları arasında Unity'yi öne çıkaran birkaç temel özellik var. Çapraz platform desteği, aynı projeyi hem Google Play hem App Store için derleyebilmenizi sağlar; yani iki farklı kod tabanı sürdürmek zorunda kalmazsınız.
Unreal Engine genellikle konsol ve PC odaklı yüksek poligon grafikler için tercih edilirken, Unity mobil için optimize edilmiş düşük poligon renderı ve cihaz ısınma sorunlarını minimize eden yapısıyla öne çıkar. Godot açık kaynak bir alternatif olsa da ekosistem büyüklüğü ve Asset Store zenginliği bakımından Unity hâlâ önde.
Ücretsiz
Personal lisans yıllık 100.000 $'a kadar gelirde ücretsizdir (Unity resmi fiyatlandırması)
Çapraz
Android, iOS, WebGL ve 20'den fazla platforma tek projeden derleme
Asset Store
Hazır 3D model, müzik, efekt ve sistem paketi kütüphanesi
C#
Güçlü, endüstri standardı bir dil; öğrenmesi JavaScript'e benzer zorlukta
Kurulum: Unity Hub, Editör ve SDK Ayarları
Kurulum sürecine başlamak için önce Unity Hub'ı indirin: bu uygulama farklı Unity versiyonlarını aynı makinede yönetmenizi sağlar. Unity Hub içinden bir LTS (Long-Term Support) sürümü seçin; 2022 veya 2023 LTS yeni başlayanlar için en kararlı seçenektir.
Android için derleyebilmek amacıyla editörü kurarken Android Build Support modülünü seçmeniz gerekiyor; bu modül Android SDK ve OpenJDK'yı otomatik olarak kurar. iOS derlemesi için Mac'e ihtiyaç duyulduğunu ve Xcode kurulumunun ayrıca gerektiğini şimdiden belirtelim.
Unity'nin resmi sitesindeki sistem gereksinimlerine göre Windows için en az 8 GB RAM (16 GB önerilir), Windows 10 64-bit ve DirectX 11 uyumlu ekran kartı yeterlidir. Disk alanı ise kurulum tipine göre 12–20 GB arasında değişir.
01
Unity Hub İndir
unity.com/download adresinden ücretsiz indirin
02
LTS Sürüm Kur
Hub üzerinden 2022 veya 2023 LTS seçin
03
Android Modülü Ekle
Android Build Support + SDK + OpenJDK işaretleyin
04
Ücretsiz Hesap Aç
Personal lisans için Unity ID hesabı yeterli
Unity Editörü Tanımak: 5 Temel Panel
Unity'yi ilk açtığınızda karmaşık görünen arayüz, aslında birkaç saatlik kullanımın ardından sezgisel hâle geliyor. Temel çalışma alanı beş panelden oluşuyor; her birini bir kez anladıktan sonra iş akışı oldukça akıcı ilerliyor.
Scene View
Oyun sahnenizi 3 boyutlu olarak düzenlediğiniz çalışma alanı. Nesneleri buradan taşır, döndürür ve ölçeklendirebilirsiniz.
Game View
Oyuncunun kamera açısından göreceği görüntüyü önizler. Oynat tuşuna basınca oyununuzu burada test edersiniz.
Hierarchy
Sahnedeki tüm GameObject'lerin listelendiği panel. Ebeveyn-çocuk ilişkileri (parent-child) burada kurulur.
Inspector
Seçili nesnenin bileşenlerini (Transform, Rigidbody, Script) gösterir ve düzenlemenizi sağlar.
Project / Assets
Projeye ait tüm dosyaların (resim, ses, script, prefab) bulunduğu klasör yapısı.
Temel Kavramlar: GameObject, Component ve Prefab
Unity'nin mimarisi Entity-Component modelini kullanır. Sahnedeki her şey bir GameObject'tir: oyuncu karakteri, kamera, ışık kaynağı, düşman... Hiçbiri tek başına bir anlam taşımaz; anlam, üstüne eklediğiniz Component'lardan gelir.
Örneğin bir top GameObject'inin üzerinde şu bileşenler bulunabilir: Transform (konumu ve boyutu tanımlar), Mesh Renderer (görselini oluşturur), Rigidbody (fizik kuvvetlerine tepki verir) ve Collider (çarpışma algılar). Bunları açıp kapatarak aynı nesneyi tamamen farklı davranışlara sokabilirsiniz.
Prefab ise yeniden kullanılabilir nesne şablonudur. Bir düşman karakterini bir kez ayarlayıp prefab hâline getirirseniz, sahnede 50 tane daha oluşturmak için sadece sürükleyip bırakmanız yeterli; hepsinde değişiklik yapmak istediğinizde de tek prefab dosyasını düzenlemeniz yeterlidir.
"Unity'de her şey bileşenlerden oluşur. Bu mimarinin mantığını kavradığınız anda oyun geliştirmek bir LEGO seti kurmaya benziyor."
C# ile Unity Scripting'e Giriş
Unity scriptleri C# ile yazılır ve MonoBehaviour sınıfından miras alır. Her script iki kritik metodla başlar: Start() sahne ilk yüklendiğinde bir kez çalışır; Update() ise her karede (saniyede 30-60 kez) tekrar eder. Bu ikisini doğru kullanmak performansın temelini oluşturur.
Mobil oyunlarda en çok kullanılan script kalıpları şunlardır: dokunmatik ekran girişi için Input.GetTouch(), nesne hareket ettirme için transform.Translate(), fizik kuvveti uygulamak için rb.AddForce(). Bu üçünü kavramanız başlangıç projelerinin büyük çoğunluğuna yetecektir.
Örnek: Basit Karakter Hareketi
using UnityEngine; public class PlayerMovement : MonoBehaviour { public float speed = 5f; private Rigidbody2D rb; void Start() { rb = GetComponent<Rigidbody2D>(); } void Update() { if (Input.touchCount > 0) { Touch touch = Input.GetTouch(0); if (touch.phase == TouchPhase.Began) { rb.AddForce(Vector2.up * speed, ForceMode2D.Impulse); } } } }
Mobil Geliştirmeye Özel Kritik Noktalar
Masaüstüne geliştirmekten en büyük fark: mobil cihazların pil ömrü, ısınma ve bellek kısıtlamaları vardır. Editörde kasıntısız çalışan sahne, mid-range bir Android telefonda 20 FPS'e düşebilir. Bu yüzden performans alışkanlıkları baştan edinilmelidir.
Mobil için Unity özel ders alarak çalışanlar genellikle bu performans kısıtlarını öğrenirken en fazla vakit harcadıklarını belirtir; çünkü teoride doğru görünen kod pratikte cihazı ısındırabilir.
Draw Call Azaltma
Sprite Atlas kullanın: birden fazla küçük görseli tek texture'da birleştirerek GPU'nun iş yükünü azaltırsınız.
Object Pooling
Sürekli Instantiate/Destroy çağrısı yapmak yerine nesne havuzu oluşturun; çöp toplayıcı (GC) takılmalarını önler.
Ekran Çözünürlüğü
Canvas Scaler'ı "Scale With Screen Size" modunda tutun; farklı telefon ekranlarında UI bozulmasını önler.
Profiler Kullanımı
Window > Profiler açarak hangi metodun ne kadar CPU/GPU zamanı aldığını gerçek zamanlı izleyin.
Texture Sıkıştırma
Android için ETC2, iOS için ASTC formatları kullanın; dosya boyutunu ve bellek tüketimini önemli ölçüde düşürür.
Dokunmatik Girdi
Input System paketinin yeni API'sini tercih edin; hem mobil dokunmatik hem joystick desteğini tek sistemde yönetir.
İlk Mobil Oyununu Nasıl Yapılandırırsın?
Yeni başlayanların en sık yaptığı hata büyük projelere girişmektir. RPG veya açık dünya oyunundan önce tek mekanik üzerine kurulu basit bir proje tamamlamak hem öğretici hem de motivasyon açısından çok daha değerlidir. Flappy Bird klonu, endless runner veya basit bir top zıplatma oyunu mükemmel başlangıç projeleridir.
Bir proje için önerilen minimum yapı şu şekildedir: Scenes klasörü (oyun sahneleri), Scripts klasörü (C# dosyaları), Prefabs klasörü (yeniden kullanılan nesneler), Sprites/Art klasörü (görsel materyaller) ve Audio klasörü. Bu yapıyı baştan kurmak ilerleyen süreçte dosya karmaşasını önler.
Mobil uygulama geliştirme becerisi kazanmak isteyen pek çok kişi Unity'yi kişisel proje geliştirmenin ötesinde kariyer yolunun bir parçası olarak da görüyor. Bu alanda mobil uygulama geliştirme özel dersi alarak hem teorik bilgilerini pekiştiren hem de pratik proje desteği alanlar, öğrenme sürecini belirgin biçimde hızlandırabiliyor.
Proje Tüyosu
Projenizi başlatmadan önce Game Design Document (GDD) hazırlayın: tek sayfa bile olsa mekanik, hedef platform, grafik tarzı ve ses konseptini yazın. Bu doküman geliştirme sırasında "scope creep" (proje kapsamının kontrol dışı büyümesi) sorununu önemli ölçüde önler.
Android ve iOS'a Derleme: Build Settings
Build almak için File > Build Settings yolunu izleyin. Android seçin, "Switch Platform" butonuna tıklayın ve ardından Player Settings'ten şu üç alanı mutlaka doldurun: Company Name, Product Name ve Package Name (com.sirketadi.oyunadi formatında).
Google Play'e yüklemek için APK değil AAB (Android App Bundle) formatında build alın; mağaza bu formatı zorunlu kılmaktadır. Build almadan önce Minimum API Level'ı Play Store'un güncel gereksinimi doğrultusunda ayarlamayı unutmayın (Google'ın resmi geliştirici politika sayfasını takip edin, bu değer zaman içinde değişmektedir).
Test için USB Debugging etkin bir Android cihazı bilgisayara bağlayıp "Build and Run" seçeneğiyle doğrudan cihazda çalıştırabilirsiniz. Bu yöntem editördeki simülasyondan çok daha gerçekçi performans verileri sunar.
Package Name belirlendi (com.sirketi.oyun)
Keystore oluşturuldu (imzalama için zorunlu)
AAB formatı seçildi (APK değil)
IL2CPP scripting backend seçildi
Uygulama simgesi ve splash screen ayarlandı
Gerçek cihazda test tamamlandı
Nerede Öğrenirim? Güvenilir Kaynaklar
Resmi Unity Learn platformu (learn.unity.com), özellikle Junior Programmer ve Creative Core yolları başlangıç için yapılandırılmış, ücretsiz ve sürekli güncellenen en kapsamlı kaynak olmaya devam ediyor. Ayrıca Unity'nin YouTube kanalındaki "Unity Essentials" serisi de görsel öğreniciler için etkilidir.
Topluluk kaynakları için Unity Forum ve Reddit'teki r/Unity3D, gerçek geliştirici sorunlarını ve çözümlerini içeren canlı arşivlerdir. Ücretli kurslar arasında Udemy'deki güncellenmiş Unity kursları, fiyat-içerik dengesi açısından çoğunlukla tercih edilmektedir.
Birebir mentorluk almak isteyenler için ise Unity online özel ders seçeneği, özellikle spesifik bir proje üzerinde çalışıp takılan noktaları hızlıca aşmak isteyenler için pratik bir yol sunuyor.
Yeni Başlayanların En Sık Yaptığı 5 Hata
Update() içinde GetComponent() çağırmak
Her karede bileşen aramak performansı ciddi etkiler. Bunun yerine Start() veya Awake() metodunda bir kez yapıp değişkene atayın.
Her şeyi tek bir scriptte toplamak
500 satırlık "GameManager" scriptleri hem test edilmesi güç hem de hata ayıklaması imkânsız hâle gelir. Her bileşen tek bir sorumluluğa sahip olmalıdır.
Sahne geçişlerinde veri kaybı
DontDestroyOnLoad() veya ScriptableObject kullanmadan sahneler arası veri taşımaya çalışmak, beklenmedik sıfırlamalara yol açar.
Gerçek cihaz testi yapmamak
Editördeki oynatma modu, dokunmatik girdi, pil ısınması ve gerçek GPU yükünü simüle etmez. Cihaz testini erken ve sık yapın.
Versiyon kontrolü kullanmamak
Git + .gitignore (Unity şablonu) kurmadan çalışmak, yanlışlıkla silinen dosya ya da bozulan sahne durumlarında büyük bir risk oluşturur.
Sonuç: Küçük Başla, Tamamla, Yayınla
Unity 3D ile mobil oyun geliştirme öğrenme sürecinin en önemli prensibi şudur: büyük hayaller kurun, küçük projelerle başlayın. Bir haftalık Flappy Bird klonu, bir aylık tamamlanmamış RPG'den her zaman daha öğreticidir; çünkü tamamlama, yayınlama ve geri bildirim alma döngüsünün tamamını yaşatır.
Bu rehberde ele aldığımız kurulum, arayüz, bileşen mimarisi, C# temelleri, mobil performans optimizasyonu ve build süreci; başlangıç için gerekli tüm yapı taşlarını oluşturuyor. Bundan sonraki adım ise editörü açmak ve ilk satırı yazmaktır.
Öğrenme yolculuğunuzu bireysel ihtiyaçlarınıza göre şekillendirmek isterseniz, kodlama özel dersi seçeneği hem Unity'ye özgü konularda hem de C# temellerini güçlendirmede somut bir destek sağlayabilir.
Projen Seni Bekliyor
Kurulumu tamamla, sahneye bir küp ekle, ona bir Rigidbody koy ve oynat tuşuna bas. Unity'yi öğrenmek tam olarak bu anda başlıyor.
Unity Eğitmenlerini İncele
Görüşlerinizi Bizimle Paylaşın (0)