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 Player 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 Player State Nedir, Ne İçin Kullanılır?

Unreal Engine ile çok oyunculu oyun geliştirmeye başladığınızda karşınıza çıkan en önemli yapılardan biri Player State'tir. Pek çok geliştirici bu sınıfın ne işe yaradığını tam anlamadan Player Controller içine veri doldurmaya başlar — ve bu, ilerleyen süreçte ciddi senkronizasyon sorunlarına yol açar.​

Player State Nedir?

APlayerState, her oyuncuya ait verilerin tüm istemcilere (client) otomatik olarak replike edildiği özel bir aktör sınıfıdır. Sunucu tarafında oluşturulur ve oyunun her yerine yayınlanır. Multiplayer oyunlarda skorboard verisi, oyuncu seviyesi, takım bilgisi gibi bilgilerin doğru çalışması tamamen Player State'e bağlıdır.​

Player Controller'dan Farkı Ne?

Bu iki sınıfı karıştırmak çok yaygın bir hatadır. Aralarındaki fark kritiktir:​

ÖzellikPlayer ControllerPlayer State
ReplikasyonYalnızca sahip clientTüm clientlar
Map geçişinde kalır mı?HayırEvet (Seamless Travel)
Kullanım amacıInput, kamera, UIOyuncu verisi

Ne Zaman Player State Kullanmalısınız?

  • Skor, öldürme/ölüm sayısı gibi tüm oyuncuların görmesi gereken veriler için
  • Oyuncunun seçtiği karakter sınıfı veya takım bilgisi için
  • Map değişimlerinde korunması gereken oyuncu ilerleme verileri için
  • Scoreboard gibi UI bileşenlerine veri beslemek için

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

Blueprint üzerinden Player State'e erişmek oldukça basittir. Herhangi bir aktörden şu yolu izleyin:​

Kod:
Get Player Controller → Get Player State → Cast To BP_MyPlayerState → Değişkene Eriş

Kendi değişkenlerinizi eklemek için BP_PlayerState adıyla APlayerState'i extend edin. Replike edilmesini istediğiniz her değişken için Replication: Replicated ayarını açmayı unutmayın. Gerekirse RepNotify kullanarak değer değiştiğinde UI güncellemesi tetikleyebilirsiniz.​

Sık Yapılan Hatalar

  • Player Controller'a replike edilmesi gereken veriyi koymak — diğer clientlar bu veriyi göremez
  • Map geçişinde Player Controller referansı saklamak — controller yeniden oluşturulur, state korunur
  • Seamless Travel kullanmadan veri kalıcılığı beklemek

Daha fazla teknik detay için Unreal Engine'ın resmi belgelerine göz atabilirsiniz: Unreal Engine — Player Controllers ve Multiplayer Programming Quick Start

Player State'i doğru kullanmak, multiplayer oyununuzun veri mimarisini sağlam temellere oturtmanın ilk adımıdır. Sunucu yetkisi (server authority) prensibine sadık kalarak bu sınıfı tasarlarsanız, senkronizasyon sorunlarının büyük çoğunluğunu baştan önlemiş olursunuz.​
 
Geri
Üst