Unity3D DLL Projesi Oluşturma

Bugün Visual Studio üzerinden bir DLL dosyası oluşturarak bunu Unity içerisinde kullanmaya bakacağız. Böyle bir şey kullanma sebebimiz ise paylaştığımız script dosyalarının içerisinde ki kodları okumalarını engellemek. Tabi bunun bazı dezavantajları da mevcut. Örneğin oluşturduğunuz projeyi Asset Store üzerinden satmayı düşünürseniz projeyi DLL olarak almaya kullanıcılar pek sıcak bakmıyorlar. Sebebi ise, her hangi bir hata durumunda projenin her hangi bir yerine müdahale edemiyorlar. Tabi diğer taraftan bazen bunu yapmak size güvenlik olarak katkı sağlayabiliyor. Örneğin Google reklam servisi olan Admob ‘u projeye dahil etmek isterseniz, bazı dosyaların DLL olarak geldiğini görebilirsiniz. Artık başlayalım.

Öncelikle bir Visual Studio projesi oluşturacağız. Yani Unity den bağımsız olarak Visual Studio’yu açalım. Buradan “File -> New -> Project” yolunu izleyelim. Ardından “Visual C# -> Class Library” seçelim.

Proje için isim, dizin ve “solution” ismini değiştirebilirsiniz.
Proje oluşturulduktan sonra “Solution Explorer” içerisinde “References” altında ki bütün kütüphaneleri siliyoruz.
Daha sonra sağ tıklayarak “Add Reference” seçiyoruz. Daha sonra “C:\Program Files (x86)\Unity\Editor\Data\Managed” dizini içerisinde “UnityEngine.dll” ekliyoruz. “OK” diyerek kapattıktan sonra artık “UnityEngine” kullanıma hazır durumda.
Şöyle toplama işlemi yapabileceğimiz küçük bir metot ekleyelim.

Artık “build” işlemi yaparak Unity içerisinde kullanmaya başlayalım.
Öncelikle “Solution Explorer” üzerinden projeye sağ tıklayarak “Properties” seçelim. “Target Framework” altında “Unity 3.5 .net full Base Class Library” seçeneğini seçerek kapatalım.
Şimdi “Solution Explorer” üzerinden projeye sağ tıklayarak “Build” seçelim. “Output” ekranında her hangi bir hata vermez ise projeyi oluşturduğumuz dizinde proje içerisinde “bin -> debug” altında “.dll” uzantılı bir dosya oluşacak.
Şimdi Unity her hangi bir proje açalım. Proje “Assets” klasörü altına yukarıda ki “.dll” uzantılı dosyayı sürükleyerek ekleyelim. Yeni bir C# “script” dosyası ekleyerek test işlemini yapalım.

Gördüğünüz gibi kütüphaneyi “using UnityTestDLL” diyerek projeye dahil ettik ve “Start” fonksiyonu içerisinde yeni bir “Test” sınıfı nesnesi oluşturarak toplama işlemini gerçekleştirdik.
Bir “Game Object” üzerine “script” dosyasını ekleyerek test edelim.

Teşekkürler, görüşmek üzere.

Kaynaklar;
https://docs.unity3d.com/Manual/UsingDLL.html
https://forum.unity3d.com/threads/compiling-c-scripts-to-dll-files.318803/

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir