Unity’de Assembly Tanımlama

Unity’de Assembly Tanımlama

Unity’de proje derlendiğinde scriptler varsayılan assembly "Assembly-CSharp.dll" içine ekleniyor. Dilersek basit bir assembly tanımlama işlemi ile proje bölümlerini farklı dll ler ile ayırabiliriz. 

Bunu yapmayı niye isteyelim? 

Bu soru için aklıma gelen 2 cevap var. İlk olarak projelerde en ufak bir script değişikliğinde projenin tüm scriptleri tekrar derlenir,  buda proje büyüklüğüne göre uzun bekleme süreleri oluşturmakta. Ancak projenin ana mekaniklerini, utility, coroutine, ui ve benzeri bölümler için farklı assembly tanımlamaları yaptığımızda sadece değiştirilen bölümler derlenir buda daha az bekleme süresi oluşturur. Diğer bir sebep yayınlanmış projelere sadece değişiklik yapılmış dll dosyalarını göndermek suretiyle yama yapabilir yada basit bir upgrade sistemi geliştirebiliriz.

Assembly tanımlamak istediğiniz klasöre sağ tıklayıp Create > Assembly Definition menüsüyle assembly tanımı oluşturun.

Oluşturduğunuz assembly tanımı dosyasının ismini dll ye vermek istediğiniz isimle değiştirin.

Projede herhangi bir script dosyasına tıklayarak hangi dll içerisinde derleneceğini görebilirsiniz.


Bu işlemden sonra scriptler farklı dll ile ayrıldığı için referans hataları alabilirsiniz.


Referans hatalarını gidermek için oluşturduğunuz assembly tanımına tıklayıp inspector de Assembly Definition References kısmından gerekli assembly referansını ekleyin.


Daha fazla bilgi için 

https://docs.unity3d.com/Manual/ScriptCompilationAssemblyDefinitionFiles.html

Yorumlar