Unity’de Uyarıları Gizlemek

Unity’de Uyarıları Gizlemek
Yazının orijinaline blogumdan ulaşabilirsiniz.

Bazı durumlarda Unity’de çözümü olmayan veya gerçekte bir sorun teşkil etmeyen, sinir bozucu uyarılar ile karşılaşabilirsiniz. Eğer [SerializeField] kullandıysanız ne demek istediğimi anlıyorsunuzdur:



Assets\Scripts\WarningTest.cs(6,24): warning CS0649: Field 'WarningTest.testing' is never assigned to, and will always have its default value null​

Size çok güzel bir haberim var! Bu durumu çözmenin iki kolay yolu var.

Birinci yol ilgili betikte (scipt) uyarıyı veren satırları #pragma warning disable ve #pragma warning restore satırları arasına almak:

using UnityEngine;

public class WarningTest : MonoBehaviour
{
#pragma warning disable 0649
    [SerializeField]
    private GameObject testing;
    [SerializeField]
    private GameObject testing_2;
    [SerializeField]
    private GameObject testing_3;
#pragma warning restore 0649

    private void Start()
    {
        if (testing)
            Debug.Log("Testing...");
    }
}

Buradaki 0649 uyarının kodu. Konsolda CS0649 şeklinde görebilirsiniz. Her hata türünün kodu ayrıdır.

Bu yöntem bir iki betik için güzel çalışsa da, büyük projelerde her betiğe bu satırları eklemek sinir bozucu olabilir. İkinci önereceğim yol ile spesifik uyarıları proje genelinde gizleyebilirsiniz.

Assets klasöründe yeni bir text dosyası oluşturun ve adını csc.rps koyun. İçine tek bir satır yazmanız yeterli:

-nowarn:0649

Buradaki 0649 yine hatanın kodu oluyor. Evet, bu kadar! Artık her derleme sonrasında konsolu temizlemenize gerek yok!

Yorumlar