Unity'ye gelenlerin çoğu iki yanlıştan birini yapıyor: ya önce altı ay "saf C#" öğrenmeye çalışıp Unity'ye hiç gelmiyor, ya da hiç dil öğrenmeden doğrudan derse dalıp kopyaladığı kodu anlamıyor. Doğrusu ortada.
Ne kadar C# gerekiyor?
Unity'de oyun yazmak için C#'ın tamamına ihtiyacın yok. Gerçekten lazım olanlar:
Değişkenler ve tipler (int, float, bool, string, Vector3)
Koşullar ve döngüler
Fonksiyonlar (metotlar) ve parametreler
Sınıflar, nesneler, public/private
Diziler ve listeler
Kalıtım — en azından MonoBehaviour'dan türetmenin ne demek olduğu
LINQ, generic'ler, async/await, delegeler: sonra. İlk oyununda gerekmiyor.
Sıralama
1. Create with Code — Unity'nin kendi ücretsiz kursu, 33,5 saat, yedi ünite. C#'ı Unity'nin içinde öğretiyor, yani öğrendiğin her şeyin nerede kullanıldığını görüyorsun. Programlamaya sıfırdan başlıyorsan doğru yer burası.
2. Dilin kendisinde boşluk hissedersen:Microsoft Learn — ilk C# kodun. Dört modül, ücretsiz, Unity'den bağımsız. Sayfa 22 Eylül 2026'da güncellenmiş.
3. Motorun kendisini öğren:Unity Essentials — editör, GameObject, transform, fizik, kamera, derleme. Kodla birlikte yürüsün.
Start() mi Awake() mi Update() mi?Awake nesne oluşturulduğunda, Start ilk kareden hemen önce, Update her karede çalışır. Referansları Awake'te kur, başka nesnelere bağlı kurulumu Start'ta yap.
Update içinde Time.deltaTime. Hareketi transform.position += hiz diye yazarsan oyun hızlı bilgisayarda hızlı, yavaşta yavaş olur. hiz * Time.deltaTime ile çarpman gerekiyor. Fizikle uğraşan kod ise FixedUpdate içine girer.
GetComponent her karede çağrılmaz. Pahalı bir işlem; Awake içinde bir kez alıp değişkende tut.
Null reference hatası. Unity'de en çok görülen hata bu ve neredeyse her zaman aynı sebep: Inspector'da bir alanı doldurmayı unutmuşsundur ya da GetComponent aradığını bulamamıştır.
public her şeyi Inspector'a çıkarmaz. Inspector'da görünmesini isteyip kodda gizli kalsın istiyorsan [SerializeField] private kullan — daha temiz alışkanlık.
Unity için C# öğrenmeye nasıl başlayayım?
Unity'ye gelenlerin çoğu iki yanlıştan birini yapıyor: ya önce altı ay "saf C#" öğrenmeye çalışıp Unity'ye hiç gelmiyor, ya da hiç dil öğrenmeden doğrudan derse dalıp kopyaladığı kodu anlamıyor. Doğrusu ortada.
Ne kadar C# gerekiyor?
Unity'de oyun yazmak için C#'ın tamamına ihtiyacın yok. Gerçekten lazım olanlar:
int,float,bool,string,Vector3)public/privateMonoBehaviour'dan türetmenin ne demek olduğuLINQ, generic'ler, async/await, delegeler: sonra. İlk oyununda gerekmiyor.
Sıralama
1. Create with Code — Unity'nin kendi ücretsiz kursu, 33,5 saat, yedi ünite. C#'ı Unity'nin içinde öğretiyor, yani öğrendiğin her şeyin nerede kullanıldığını görüyorsun. Programlamaya sıfırdan başlıyorsan doğru yer burası.
2. Dilin kendisinde boşluk hissedersen: Microsoft Learn — ilk C# kodun. Dört modül, ücretsiz, Unity'den bağımsız. Sayfa 22 Eylül 2026'da güncellenmiş.
3. Motorun kendisini öğren: Unity Essentials — editör, GameObject, transform, fizik, kamera, derleme. Kodla birlikte yürüsün.
4. Sonra: Junior Programmer — sürüm kontrolü, hata ayıklama, arayüz programlama, nesne yönelimli tasarım, optimizasyon. ~12 hafta.
Yeni başlayanın gerçekten takıldığı yerler
Start()miAwake()miUpdate()mi?Awakenesne oluşturulduğunda,Startilk kareden hemen önce,Updateher karede çalışır. ReferanslarıAwake'te kur, başka nesnelere bağlı kurulumuStart'ta yap.UpdateiçindeTime.deltaTime. Hareketitransform.position += hizdiye yazarsan oyun hızlı bilgisayarda hızlı, yavaşta yavaş olur.hiz * Time.deltaTimeile çarpman gerekiyor. Fizikle uğraşan kod iseFixedUpdateiçine girer.GetComponenther karede çağrılmaz. Pahalı bir işlem;Awakeiçinde bir kez alıp değişkende tut.Null reference hatası. Unity'de en çok görülen hata bu ve neredeyse her zaman aynı sebep: Inspector'da bir alanı doldurmayı unutmuşsundur ya da
GetComponentaradığını bulamamıştır.publicher şeyi Inspector'a çıkarmaz. Inspector'da görünmesini isteyip kodda gizli kalsın istiyorsan[SerializeField] privatekullan — daha temiz alışkanlık.Sonrası
Video kursları, shader, netcode ve performans kaynakları bu odadaki Unity öğrenme yol haritasında. Motordan bağımsız programlama kitapları — özellikle Game Programming Patterns — Tasarım ve Zanaat odasında.
Takıldığın yerde bu odada konu aç, tam sürümünü yazmayı unutma.
Tartışmaya katılmak için giriş yap. Giriş yap