Kafayı yiyecektim arkadaş. Bir UI güncellemesi yapıyordum, sadece bir butonun rengini #FF5733'ten #33FF57'ye değiştirdim. "Hadi paketleyip test edeyim" dedim. Unreal'de File -> Package Project'e tıkladığım anda, o meşhur ilerleme çubuğu ve önüme serilen 10 dakikalık bir ömür törpüsü başladı. Şaka gibi ama, saniyeler içinde derlenmesi gereken basit bir değişiklik için tüm dünyayı baştan mı yaratıyor bu?
C++:
// Değişen tek şey bu renk kodu, yemin ederim!
FLinearColor NewButtonColor = FLinearColor::FromSRGBColor(FColor::FromHex("33FF57"));
Sonra oturdum araştırdım. Meğerse Unreal, packaging (paketleme) yaparken, sadece senin değiştirdiğin Blueprint veya C++ dosyasını alıp koymuyormuş. Tüm içeriği (assets), kodu derleyip pişiriyor (cooking), shader'ları oluşturuyor ve nihai paketi sıfırdan inşa ediyormuş. Incremental Build denen nimet kod tarafında var ama, içerik paketlemesi genelde "ya hep ya hiç" modunda çalışıyor gibi geldi bana. Development Build bile olsa, bu süreç çok hantal.
Live Coding (Ctrl+Alt+F11) ile C++ kısmında hızlı testler yapabiliyorsun, bu bir nimet. Ama UI asset'leri, UMG düzenlemeleri veya yeni bir model eklediysen, o paketleme duvarına tosluyorsun. Dedicated Server paketini daha hızlı almak veya sadece Windows hedeflemek gibi küçük hileler işe yarıyor. Ama özünde, bu bekleyiş, hızlı prototipleme ve yineleme (iteration) hızını öldürüyor.
Siz de böyle Unreal paketleme maratonlarında kendinizi "Acaba çay demlesem mi, kahve yapsam mı?" diye düşünürken buluyor musunuz? Bu süreci hızlandırmak için kesin, kanıtlanmış bir sihirli değnek var mı? Yoksa hepimiz bu 10 dakikalık molalara alışmak ve StackOverflow'da gezinmek zorunda mıyız?