Unity Oyuncu Verilerini Telefon Hafızasına Kaydetme | PlayerPrefs Kullanımı

Merhaba arkadaşlar, bu yazımda sizlere Unity oyun motoru ile yapılan oyunlarda kullanıcının verilerini telefon hafızasına kaydetmeyi anlatacağım.

Mobil oyun geliştirirken oyuncunun bazı verilerini saklamak oldukça önemlidir. Örneğin oyuncunun skoru, ses ayarları, ilerlediği bölüm veya bazı oyun ayarları gibi bilgiler kaydedilmezse oyuncu her oyuna başladığında her şey sıfırlanır. Bu da kullanıcı deneyimini olumsuz etkiler.

Unity bu sorunu çözmek için oldukça basit bir sistem sunar: PlayerPrefs.

Oyuncu Verilerini Telefon Hafızasına Kaydetmek İçin Ne Kullanılır?

Unity oyun motoru ile yapılan mobil oyunlarda oyuncu verilerini telefon hafızasına kaydetmek için PlayerPrefs kullanılabilir.

Eğer bir veriyi PlayerPrefs ile kaydederseniz, oyuncu oyununuzu silene kadar veya oyun verilerini temizleyene kadar veriler telefon hafızasında tutulur.

Eğer siz kullanıcı verisini PlayerPrefs ile tutarsanız kullanıcı oyunu silip tekrar yüklediğinde tüm veriler temizlenmiş olur.

Eğer oyuncu tekrar oyunu yüklediğinde aynı veriler ile devam etsin istiyorsanız PlayerPrefs yönteminden farklı bir yol izlemeniz gerekir. Ancak oyun silinmediği sürece veriler saklansın yeter diyorsanız PlayerPrefs oldukça pratik bir çözümdür.

PlayerPrefs Hangi Değişken Türlerinde Kullanılır?

PlayerPrefs üç farklı veri türü ile kullanılabilir:

  • int
  • float
  • string

Yani bu üç değişken türünden herhangi birini PlayerPrefs kullanarak kolayca kaydedebilirsiniz.

PlayerPrefs ile Veri Kaydetme Nasıl Yapılır?

Unity’de PlayerPrefs ile veri kaydetmek oldukça basittir.

Kod editörüne PlayerPrefs. yazdığınızda kullanabileceğiniz fonksiyonlar karşınıza çıkar.

Örneğin int türünde bir veri kaydetmek istersek şu şekilde kullanırız:

PlayerPrefs.SetInt("skor", 100);

Burada:

  • “skor” → verinin anahtar adı (key)
  • 100 → kaydetmek istediğimiz değer

Float Veri Kaydetme

Float türünde veri kaydetmek için:

PlayerPrefs.SetFloat("sesSeviyesi", 0.8f);

String Veri Kaydetme

String veri kaydetmek için:

PlayerPrefs.SetString("oyuncuAdi", "Numan");

PlayerPrefs ile Kaydedilen Veriyi Okuma

Kaydettiğiniz verileri daha sonra tekrar kullanmak isteyebilirsiniz. Bunun için Get fonksiyonları kullanılır.

Örneğin kaydettiğimiz skoru geri almak için:

int skor = PlayerPrefs.GetInt("skor");

Float veri almak için:

float ses = PlayerPrefs.GetFloat("sesSeviyesi");

String veri almak için:

string oyuncuAdi = PlayerPrefs.GetString("oyuncuAdi");

Burada dikkat etmeniz gereken en önemli nokta anahtar (key) ismini doğru yazmanızdır.

PlayerPrefs Varsayılan Değer Kullanımı

Bazen veri daha önce hiç kaydedilmemiş olabilir. Bu durumda Unity’ye bir varsayılan değer verebiliriz.

Örneğin:

int skor = PlayerPrefs.GetInt("skor", 0);

Eğer "skor" adlı veri daha önce kaydedilmemişse Unity otomatik olarak 0 değerini döndürür.

Bu yöntem özellikle oyunu ilk defa açan kullanıcılar için oldukça kullanışlıdır.

PlayerPrefs ile Veri Silme

Bazen kaydedilmiş verileri silmek isteyebilirsiniz.

Belirli bir veriyi silmek için:

PlayerPrefs.DeleteKey("skor");

Tüm PlayerPrefs verilerini silmek için:

PlayerPrefs.DeleteAll();

Ancak DeleteAll() kullanırken dikkatli olun çünkü bu komut oyunda kaydedilmiş tüm verileri siler.

PlayerPrefs Ne Zaman Kullanılmalı?

PlayerPrefs genellikle şu durumlarda kullanılır:

  • Oyuncunun skorunu kaydetmek
  • Ses ayarlarını saklamak
  • Oyuncunun seviye ilerlemesini tutmak
  • Oyun ayarlarını kaydetmek

Ancak büyük veri kayıtları için PlayerPrefs kullanılması önerilmez. PlayerPrefs daha çok küçük ve basit veriler için uygundur.

Sonuç

Unity’de oyuncu verilerini telefon hafızasına kaydetmenin en kolay yollarından biri PlayerPrefs kullanmaktır. Basit yapısı sayesinde oyun ayarları, skorlar veya küçük oyuncu verileri rahatlıkla saklanabilir.

Eğer mobil oyun geliştiriyorsanız PlayerPrefs sistemi çoğu zaman işinizi oldukça kolaylaştıracaktır.

Evet arkadaşlar, bu yazımızda “Unity’de PlayerPrefs Kullanımı” konusunu işledik. Yazımızı beğendiyseniz bunu yorum atarak belirtmeyi unutmayınız. Aklınıza takılan soruları da yorum atarak sorabilirsiniz. Elimden geldiğince cevaplamaya çalışacağım 🙂

Numan KARA

Merhaba, ben Numan KARA. NBlack Software geliştirici ismiyle kendi oyunlarımı geliştirerek Google Play ve AppGallery'de yayınlamaktayım. Aynı zamanda Ben Yazılımcı (www.benyazilimci.com) web sitesinde yöneticilik ve içerik üreticiliği yapmaktayım.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir