ConstSafe
ConstSafe; tag'ler, sahneler, resources yolları, animator parametreleri, shader property'leri ve daha fazlası için tür güvenli C# referansları üreten bir Unity sabit oluşturucusudur.
ConstSafe, zamanla hataya dönüşen çok sıradan bir Unity problemini çözer: tag’ler, sahne adları, resource yolları, animator parametre isimleri, shader property isimleri ve benzer değerler projenin her yerine hardcoded string olarak dağılır. Kod derlenir, ama editörde veri değiştiği anda bu string’ler projeyle uyumsuz hale gelebilir.
Problem
Unity projeleri çok sayıda string tabanlı referans biriktirir.
Bir scriptte sahne adı. Başka birinde resource yolu. Oynanış koduna kopyalanmış animator parametreleri. Elle tekrar yazılmış shader property ID’leri. Her şey, biri yeniden adlandırılana, taşınana ya da silinene kadar çalışır.
Sorun string’i bir kez yazmak değildir. Sorun, gerçek bir proje boyunca doğru kalmasını sağlamaktır.
Bu maliyet, daha fazla sistem proje verisine bağlandıkça ya da birden fazla kişi aynı anda sahneleri, asset’leri ve ayarları değiştirdikçe büyür.
Araç Nasıl Yardımcı Olur
ConstSafe, Unity iş akışlarının çoğu zaman magic string kullandığı alanlar için proje verisini tarar ve tür güvenli C# çıktısı üretir.
Değerleri elle yazmak yerine; tag’ler, katmanlar, sorting layer’lar, sahneler, legacy input eksenleri, animator parametreleri, shader property’leri, resources yolları ve editör üzerinden tanımlanan string’ler için üretilen kodu referans alırsınız.
Üretilen dosyalar düz C#‘tır ve okunabilir kalır. Kaynak kontrolünde yaşamaları için tasarlanmıştır ve runtime’da ConstSafe gerektirmezler.
Editör iş akışı da aracın parçasıdır. ConstSafe; üretici durumu, çıktı önizlemesi, seçmeli yeniden üretim, onboarding ve orphan temizliği için bir pano sunar. Addressables ve New Input System üreticileri ise ilgili paketler kurulu değilse ortalıkta görünmez.
Somut İş Akışları ve Kullanım Senaryoları
En yaygın kullanım, oynanış kodundaki string tabanlı erişimleri kaldırmaktır.
Sahne adlarını, resource yollarını veya animator parametre isimlerini elle yazmak yerine üretimi yeniler ve oluşan API’yi kullanırsınız. Proje verisi değişirse üretilen kod da onunla birlikte değişir.
Bu özellikle şunlar için faydalıdır:
- sahneleri üretilen ad ya da index ile açmak
Resourcesiçinden asset yüklerken üretilen yolları kullanmak- önceden üretilmiş shader property adları ve ID’leriyle çalışmak
- animator parametrelerine string kopyalamadan erişmek
- proje tanımlı string’leri editör sahipliğinde tek yerde tutmak
- proje özelindeki veri tipleri için üretim hattını genişletmek
ConstSafe, Unity 2022.3 LTS ve sonrası için üretildi; Addressables ve New Input System desteği ise isteğe bağlıdır.
Kimler İçin
ConstSafe, kod tabanını özel bir framework’e çevirmeden daha güvenli referanslar isteyen Unity geliştiricileri içindir.
Üretilen kodun basit, yerel ve gözden geçirilebilir kalmasını isteyen ekipler için iyi uyum sağlar. Ayrıca araç yazmayı seven ve özel tanımlar ya da özel üreticilerle daha ileri gitmek isteyen geliştiricilere de hitap eder.
Projeniz yeniden adlandırmaların, taşınan asset’lerin veya editör verisi ile kod arasındaki kurulum kaymasının bedelini ödemeye başladıysa, ConstSafe tam olarak bu probleme yöneliktir.
Kapanış
ConstSafe gösterişli olmaya çalışmıyor. Unity projelerinde en sık görülen düşük sinyalli hata kaynaklarından birini kaldırmaya çalışıyor: editörde yaşayan ama kodda elle referans verilen proje verisi.
Okunabilir, deterministik ve derleme zamanı dostu proje referansları istiyorsanız, ConstSafe bunu oyun kodunuzun üzerine bir runtime bağımlılık katmanı bindirmeden sağlar.
Öne Çıkan Özellikler
Neden ConstSafe?
- Kırılgan magic string'leri derleme zamanı güvenli referanslarla değiştirir.
- Proje verisindeki değişikliklerin kodda görünmesini sağlar; runtime'da sessizce kırılmaz.
- Üretilen dosyaları okunabilir, versiyonlanabilir ve araç kaldırılsa bile kullanılabilir tutar.
- Ekiplere yeniden üretim, önizleme ve temizlik için daha net bir iş akışı sunar.
Kimler İçin?
Ekran Görüntüleri




Benzer Araçlar
Yakın Unity iş akışlarında kullanılan diğer editör araçlarını da inceleyin.
Project Designer+
Görevleri, notları, diyagramları ve özel düğüm iş akışlarını doğrudan Unity editörü içinde görsel olarak planlayın.
SceneSignal
SceneSignal, Scene görünümünü karmaşaya boğmadan 3B notlar, etiketler, bağlantılar, alanlar ve yollar eklemek için tasarlanmış bir Unity sahne açıklama aracıdır.
DevNotebook
DevNotebook; sahne notlarını, asset takiplerini ve inceleme kontrol listelerini gerçek proje içeriğine bağlı tutan bir Unity editör aracıdır.
Sık Sorulan Sorular
Üretilen kod runtime'da ConstSafe'e bağlı mı?
Addressables ve Input System desteği için o paketlerin kurulu olması gerekir mi?
Kendi üretilen sabitlerimi ekleyebilir miyim?
Paket örnekleri çıktıyı otomatik olarak üretir mi?
Bir sonraki Unity projenizde deneyin
ConstSafe, editör içinde daha net ve daha okunabilir bir üretim akışı kurmanıza yardımcı olur.