Syntax

Üstün
Katılım
11 Şubat 2024
Mesajlar
1.836
Çözümler
10
Beğeniler
1.844
Inspector Attribute nedir?

Unity'de script yazarken değişkenleri Inspector'da nasıl göstereceğimizi kontrol etmek için kullanılan etiketlerdir. Tanımdan tam ne işe yaradığını anlamamış olabilirsiniz. Örneklerle göstereceğim daha iyi anlayacaksınızdır.

SerializeField
Normalde private değişkenler Inspector'da görünmez. SerializeField sayesinde hem private kalır hem de Inspector'dan ayarlanabilir olur.

Kod:
 [Header("Kill Settings")]
 [SerializeField] private float raycastMesafe = 10f;
 private float runKillerRaycastMesafe = 5f;
 [SerializeField] private LayerMask playerLayer = -1; // Default olarak tüm layer'lar

Ekran görüntüsü 2025-09-26 211621.webp


Burada 2.değişkende SerializeField kullanmadım bu yüzden gözükmüyor. Private olan diğer iki değişkende SerializeField kullandığım için Inspector'da gözüküyor.

Header
Değişkenleri başlığa göre ayırarak Inspector'ı daha düzenli gösterebilirsiniz.

C#:
 [Header("Kill Settings")]
 [SerializeField] private float raycastMesafe = 10f;
 private float runKillerRaycastMesafe = 5f;
 [SerializeField] private LayerMask playerLayer = -1; // Default olarak tüm layer'lar.
 [SerializeField] private float killCooldown = 50f; // Normal kill cooldown.
 [SerializeField] private float serialKillerCooldown = 75f; // Serial killer extended cooldown.

 [Header("Poison Settings")]
 [SerializeField] private float poisonDelay = 7f; // Poison kill delay

Ekran görüntüsü 2025-09-26 213529.webp


HideInInspector
Public değişkenler normalde Inspector'da gözükür. Fakat HideInInspector kullanırsanız gözükmez.

C#:
public float testVariable;
[HideInInspector] float testDegisken;
public float testTimer;

Ekran görüntüsü 2025-09-26 214317.webp


Bu örnekte HideInInspector kullandığımız değişken gözükmezken diğer ikisi gözüküyor.
Tooltip
Değişkenin üstüne fareyi getirince küçük açıklama kutusu çıkar.

C#:
[Tooltip("Selam, gununuz guzel gecsin!")]
[SerializeField] private LayerMask playerLayer = -1; // Default olarak tüm layer'lar

Ekran görüntüsü 2025-09-26 214945.webp


Range
Inspector'da slider ekler.

C#:
[Range(0, 100)] public float normalKillerChance = 40f;

Ekran görüntüsü 2025-09-26 215131.webp


Space
Inspector'da değişkenler arasında boşluk bırakır.

C#:
[SerializeField] private float killCooldown = 50f; // Normal kill cooldown.
[SerializeField] private float serialKillerCooldown = 75f; // Serial killer extended cooldown.

[Space(50)]

[Header("Poison Settings")]
[SerializeField] private float poisonDelay = 7f; // Poison kill delay

Ekran görüntüsü 2025-09-26 215436.webp


Bu attributelar basit olanlar ve Inspector'ı düzenli gösterecek attributelar. Bu gösterdiklerimden daha fazlası var. Fakat bunlar Inspector'ın düzenli gözükmesi dışındaki şeylere yarıyor. Hatta kendi attributelarınızı da oluşturabilirsiniz. Daha detaylı attributelar sonraki rehberin konusu olabilir.