Projelerimiz gereksiz assetlerle dolduğunda, ya da bazı assetlerle işimiz bittiğinde onları tek tek ayıklayamayız. Çünkü bu assetlere bağlı bir çok asset daha mevcuttur.
Zaten Unreal içerisinde ; dosya kopyalama, yapıştırma, silme işlemleri, Windows üzerinde external olarak yapılan işlem kadar kolay değildir. Zaten external işlem yaparken risk almış oluyorsunuz. Çünkü referansları silmiyor.
Dolayısıyla tek tık ile bunu yapamadığımız için de direkt olarak boş bir proje açıp ana projemizdeki tüm leveller içerisinde kullanılan her şeyi o boş projeye migrate ediyoruz. Yani kısacası projemizdeki levelleri migrate ediyoruz, dolayısıyla o levelde ne kullanıldıysa boş projeye aktarılıyor. Böylece sadece istediğimiz ve kullandığımız dosyaları almış oluyoruz. Hem projemiz daha hızlı çalışıyor hem bellek daha az doluyor hem de proje boyutu küçülüyor, dağınıklıktan kurtuluyoruz.
Fakat internette çözümünün neredeyse hiçbir yerde yazmadığı bir hata mevcut. Bazen projenizi migrate ettiğinizde, bir çok error ve warning görürsünüz. Örneğin Can't loaded from outer source gibi bir mesaj.
İnternette bunun için işe yaramayan birkaç çözüm sunulmuş. Mesela projenize boş bir C++ componenti eklemeniz gibi. Blueprint projenize durduk yere boş bir C++ eklemeniz tamamen saçmalıktan ibarettir. Boş yere VS dosyaları çıkarır.
Bunun çok kolay bir çözümü var. Kendi bulduğum bir çözüm. Bazen projeleri böyle migrate ederken Class özellikleri değişiyor. Fakat migrate edilen boş projedeki Class ile ana projenizdeki Class farklı oluyor. Dolayısıyla bazı şeylerin referansına erişilemiyor. Bu Classlara sadece C++ yoluyla ulaşabilirsiniz. Ama size çok basit bir yöntem söyleyeceğim.
Migrate edilen boş unreal projesi var ya hani. Onun içerisindeki unreal exesini silin. Ana projenizdeki Unreal exesini oraya atın. Sonra çalıştırın.
Her şey olduğu gibi açılacaktır. Çünkü Class sabit olarak aktarılmış olacaktır. En kolay çözüm budur.
İkinci çözümü anlatıyorum.
Projenizi migrate ettiniz. Fakat migare edilen boş projeyle işiniz yok. Ana projenizdeki contenti silin, diğer migrate edilip ayıklanmış projedeki contenti tekrar ana projenize aktarın. Böylece sadece gerekli şeyleri bir yere atıp sonra ordan alıp yine kendi projenize atmış olacaksınız. Yani işin için Class girmeyecek exe değiştirmek zorundada kalmayacaksınız.
Fakat ilk yöntem daha basittir.
Zaten Unreal içerisinde ; dosya kopyalama, yapıştırma, silme işlemleri, Windows üzerinde external olarak yapılan işlem kadar kolay değildir. Zaten external işlem yaparken risk almış oluyorsunuz. Çünkü referansları silmiyor.
Dolayısıyla tek tık ile bunu yapamadığımız için de direkt olarak boş bir proje açıp ana projemizdeki tüm leveller içerisinde kullanılan her şeyi o boş projeye migrate ediyoruz. Yani kısacası projemizdeki levelleri migrate ediyoruz, dolayısıyla o levelde ne kullanıldıysa boş projeye aktarılıyor. Böylece sadece istediğimiz ve kullandığımız dosyaları almış oluyoruz. Hem projemiz daha hızlı çalışıyor hem bellek daha az doluyor hem de proje boyutu küçülüyor, dağınıklıktan kurtuluyoruz.
Fakat internette çözümünün neredeyse hiçbir yerde yazmadığı bir hata mevcut. Bazen projenizi migrate ettiğinizde, bir çok error ve warning görürsünüz. Örneğin Can't loaded from outer source gibi bir mesaj.
İnternette bunun için işe yaramayan birkaç çözüm sunulmuş. Mesela projenize boş bir C++ componenti eklemeniz gibi. Blueprint projenize durduk yere boş bir C++ eklemeniz tamamen saçmalıktan ibarettir. Boş yere VS dosyaları çıkarır.
Bunun çok kolay bir çözümü var. Kendi bulduğum bir çözüm. Bazen projeleri böyle migrate ederken Class özellikleri değişiyor. Fakat migrate edilen boş projedeki Class ile ana projenizdeki Class farklı oluyor. Dolayısıyla bazı şeylerin referansına erişilemiyor. Bu Classlara sadece C++ yoluyla ulaşabilirsiniz. Ama size çok basit bir yöntem söyleyeceğim.
Migrate edilen boş unreal projesi var ya hani. Onun içerisindeki unreal exesini silin. Ana projenizdeki Unreal exesini oraya atın. Sonra çalıştırın.
Her şey olduğu gibi açılacaktır. Çünkü Class sabit olarak aktarılmış olacaktır. En kolay çözüm budur.
İkinci çözümü anlatıyorum.
Projenizi migrate ettiniz. Fakat migare edilen boş projeyle işiniz yok. Ana projenizdeki contenti silin, diğer migrate edilip ayıklanmış projedeki contenti tekrar ana projenize aktarın. Böylece sadece gerekli şeyleri bir yere atıp sonra ordan alıp yine kendi projenize atmış olacaksınız. Yani işin için Class girmeyecek exe değiştirmek zorundada kalmayacaksınız.
Fakat ilk yöntem daha basittir.