Gameloper'a Hoş Geldiniz!

Gameloper, oyun geliştiriciler için oluşturulmuş bir topluluktur. Unity, Unreal Engine ve Godot gibi oyun motorları hakkında bilgi paylaşabilir, sorular sorabilir ve ücretsiz assetler keşfedebilirsiniz.

Hemen Kayıt Ol!

Unreal Engine'da Game State Nedir, Ne İçin Kullanılır?

  • Konuyu Başlatan Konuyu Başlatan Druid
  • Başlangıç tarihi Başlangıç tarihi

Druid

Administrator
Yönetici
Katılım
11 Mar 2026
Mesajlar
52
Tepkime puanı
5
Puan
8
Unreal Engine'da Game State Nedir, Ne İçin Kullanılır?

Unreal Engine ile oyun geliştiriyorsanız, bir noktada Game State kavramıyla karşılaşmak kaçınılmaz. Peki bu sınıf tam olarak ne işe yarıyor, neden var ve ne zaman kullanmalısınız?​

Game State Nedir?

AGameStateBase (veya türevi AGameState), oyunun o anki genel durumunu tüm istemcilere (client) ileten özel bir sınıftır. Unreal'in ağ mimarisinde sunucu otoritatiftir; Game State ise sunucudaki bu bilgiyi tüm oyunculara otomatik olarak replicate eder.

Kısaca şöyle düşünebilirsiniz:

  • Game Mode → Sadece sunucuda çalışır, kuralları yönetir
  • Game State → Hem sunucu hem tüm clientlarda mevcuttur, anlık durumu yayar
  • Player State → Tek bir oyuncuya ait verileri taşır

Ne Tür Veriler Tutulur?

Game State içinde tutulacak veriler şu soruyla belirlenir: "Bu bilgiye tüm oyuncuların eş zamanlı erişmesi gerekiyor mu?" Eğer cevap evetse, yeri Game State'tir.​

Tipik kullanım örnekleri:

  • Oyun sayacı (kaç dakika kaldı, maç ne zaman başladı)
  • Genel skor veya takım puanları
  • Maç fazı (WaitingToStart, InProgress, WaitingPostMatch)
  • Aktif oyuncu listesi (PlayerArray bu sınıfta tutulur)
  • Global event durumları (boss spawn edildi mi, kale düştü mü vb.)

Blueprint'te Nasıl Kullanılır?

Blueprint tarafında Game State'e erişmek oldukça kolaydır. Herhangi bir Blueprint içinden şu yolu izleyin:​

Kod:
Get Game State → Cast To BP_GameState → Değişkene Eriş

Kendi Game State sınıfınızı oluşturmak için AGameStateBase'den türeyen yeni bir Blueprint yaratın. Ardından Project Settings → Maps & Modes altında ya da ilgili Game Mode'un detaylarından bu sınıfı atayın.

Replicate etmek istediğiniz değişkenleri tanımlarken değişkenin detaylarından "Replicated" seçeneğini aktif etmeyi unutmayın. Aksi hâlde değer yalnızca sunucuda kalır, clientlara yansımaz.​

Game Mode ile Farkı Neden Önemli?

Yeni başlayanların sıkça yaptığı hata, replicate edilmesi gereken verileri Game Mode içine koymaktır. Game Mode client tarafında hiç var olmaz; dolayısıyla oraya koyduğunuz bir skoru UI'da görüntüleyemezsiniz. Multiplayer projede bu ayrımı net kurmak, onlarca saatlik debug acısından sizi kurtarır.

Konuyla ilgili resmi Unreal Engine belgelerine göz atmak için: Epic Games — Game Mode and Game State

Özet

Game State, Unreal Engine'in ağ mimarisinin temel taşlarından biridir. Multiplayer oyunlarda global verileri tüm istemcilerle paylaşmak için doğru ve güvenli yoldur. Projenizin büyüklüğünden bağımsız olarak bu sınıfı doğru konumlandırmak, ileride yaşanacak mimari sorunların önüne geçer.​
 
Geri
Üst