UNREAL ENGİNE İLE PROJE KURULUMUNU PLANLAMAK VE ÜRETİM YAPISINI OTURTMAK
Bir Unreal Engine projesi “başlar başlamaz” iyi gitmez; iyi başlamayı sağlayan şey, ilk gün yapılan küçük ama kritik tercihlerdir. Klasör isimleri, asset adlandırma, sürüm kontrolü, build ayarları ve ekip içi rol dağılımı net değilse, üretim daha ilk sprintte yavaşlar.
Özellikle ekip büyüdükçe, “şimdilik idare eder” yaklaşımı, birkaç hafta sonra daha pahalıya patlayan teknik borca dönüşür. Bu nedenle proje kurulumunu planlamak; sadece dosya oluşturmak değil, üretim hattını (pipeline) çalışır hâle getirmek anlamına gelir.
Bu yazıda Unreal Engine proje kurulumu için pratik bir yol haritası bulacaksınız. Hedef; ekiplerin daha az sürtünmeyle ilerlemesi, versiyonlama krizlerinin azalması ve içerik üretiminin öngörülebilir bir düzene oturmasıdır. İsterseniz bu yaklaşımı, ekibinize uygun şekilde derinleştirmek için Unreal Engine eğitimi içeriğine de göz atabilirsiniz.
Proje hedeflerini ve kapsamı netleştirmek
Sağlam kurulumun ilk adımı, “ne yapıyoruz” sorusunu teknik kararlarla bağlamakla başlar. Oyun mu geliştiriyorsunuz, simülasyon mu, mimari görselleştirme mi? Hedef platform (PC, konsol, mobil, VR), performans bütçesi, içerik yoğunluğu ve ekip sayısı; proje yapısını doğrudan etkiler.
Bu aşamada küçük bir “teknik özet” dokümanı hazırlamak, sonradan tartışmaları azaltır. Dokümanın içinde şunlar net olmalıdır:
- Hedef platformlar, minimum ve önerilen donanım sınırları belirlemek
- Render hedefi (Lumen, Nanite, forward/deferred) kararını vermek
- Çoklu seviye, açık dünya veya sahne tabanlı akışı seçmek
- Takım rolleri ve içerik üretim kapasitesini gerçekçi tahmin etmek
Bu çerçeve, “hangi plugin’ler?”, “hangi build ayarları?”, “hangi source control?” gibi soruların yanıtını da hızlandırır. Belirsiz hedef, belirsiz proje yapısı üretir.
Platform ve performans bütçesini erken tanımlamak
Örnek: VR hedefliyorsanız frame bütçesi çok daha sıkıdır; shader karmaşıklığı, post-process ve dinamik ışık sayısı daha sınırlı olmalıdır. Mobilde texture boyutları ve draw call sayısı belirleyici olur. PC’de ise kalite seçenekleri (Scalability) daha geniş tutulabilir. Bu farklar, daha baştan içerik standartlarını ve QA kontrol listesini etkileyecektir.
Teknik riskleri sprint planına bağlamak
Lumen ve Nanite kullanımında içerik türleri (yüksek poligon, decal yoğunluğu, translucent materyaller) risk yaratabilir. Online/multiplayer hedefleniyorsa replikasyon, network bandwidth, determinism gibi başlıklar erken prototiplenmelidir. Bu riskleri “ilk sprintte doğrulama” planına koymak, sonradan mimari değişikliklerin maliyetini azaltır.

Klasör yapısını ve adlandırmayı standardize etmek
Unreal Engine projelerinde içerik karmaşası çoğu zaman “Content” klasörünün kontrolsüz büyümesiyle başlar. Tutarlı bir klasör yapısı ve naming convention, arama süresini azaltır, merge çatışmalarını düşürür ve onboarding sürecini hızlandırır. Buradaki amaç “mükemmel” değil, herkesin uyduğu tek bir ortak sistem kurmaktır.
Önerilen yaklaşım, içerikleri hem disipline göre hem de kullanım alanına göre sınıflandırmaktır. Örneğin “Characters, Environments, UI, FX” gibi üst klasörler; onların altında “Meshes, Materials, Textures, Animations” gibi alt yapılarla genişleyebilir. Projenin ölçeğine göre bu yapı sadeleştirilebilir.
Content, Source ve Config ayrımını oturtmak
Content tarafında asset’ler, Source tarafında C++ kodları, Config tarafında ini ayarları yönetilir. Ayrıca “Plugins” klasörü üzerinden modüler bileşenler ayrıştırılabilir. Bu ayrım, CI/CD tarafında da büyük avantaj sağlar; örneğin yalnızca Config değiştiğinde tam rebuild yerine daha hafif doğrulamalar yapılabilir.
Asset naming convention ile aramayı hızlandırmak
Pratikte en çok işe yarayan yöntem, prefix tabanlı adlandırmadır: “SM_” (Static Mesh), “SK_” (Skeletal Mesh), “M_” (Material), “MI_” (Material Instance), “T_” (Texture), “BP_” (Blueprint), “WBP_” (Widget Blueprint) gibi. Böylece Content Browser araması hızlı olur ve hatalı kullanım daha erken fark edilir.
Aşağıdaki örnek, küçük bir ekip için tipik bir Content düzenini gösterir:
Content/
_Project/
Blueprints/
UI/
Data/
Characters/
Hero/
Meshes/
Animations/
Materials/
Textures/
Environments/
Props/
Modular/
Materials/
Textures/
FX/
Niagara/
Materials/
Audio/
SFX/
Music/Bu düzeni “_Project” gibi bir kök altında proje geneli blueprint ve data asset’leri için kullanmak, çok sayıda ekipte karışıklığı ciddi biçimde azaltır. Önemli olan, herkesin aynı yolu izleyerek üretmesi ve kontrolün otomatikleştirilebilmesidir.
Sürüm kontrolünü ve dosya stratejisini belirlemek
Unreal projelerinde sürüm kontrolü yalnızca “kod” için değil; binlerce binary asset için de kritiktir. Bu nedenle seçilecek sistem ve dosya stratejisi, ekibin günlük hızını doğrudan belirler. Git kullanılıyorsa Git LFS, Perforce kullanılıyorsa depot ve workspace politikaları, daha ilk gün konuşulmalıdır.
Özellikle binary asset’lerde kilitleme (locking) ihtiyacı ve büyük dosya yönetimi belirleyicidir. Perforce, Unreal ekosisteminde yaygın bir tercih olmasının nedenini burada gösterir; ancak doğru kurulum yapılmadığında o da darboğaz yaratabilir.
Git LFS ve Perforce kullanımını karşılaştırmak
Git, branching ve code review kültürüyle güçlüdür; fakat büyük binary dosyalarda LFS zorunlu hâle gelir ve ekip alışkanlıklarına göre sorun çıkarabilir. Perforce ise kilitleme akışını kolaylaştırır ve büyük depot’larda daha rahat ölçeklenebilir. Seçim, ekibin büyüklüğüne, içerik hacmine ve pipeline kültürüne bağlıdır.
Ignore, lock ve merge politikalarını netleştirmek
.gitignore veya P4 typemap kararları, gereksiz dosyaların repoya girmesini engeller. Unreal tarafında DerivedDataCache, Intermediate, Saved gibi klasörlerin repoya girmemesi kritik bir standarttır. Ayrıca “uasset” ve “umap” gibi dosyalarda kimlerin lock alacağı, hangi durumlarda branch açılacağı gibi kurallar net yazılmalıdır.
Örnek bir .gitignore parçası şu mantığı taşır:
# Unreal Engine
Binaries/
DerivedDataCache/
Intermediate/
Saved/
.vscode/
*.suo
*.opensdf
*.sdf
# Build outputs
Build/
*.logBu politikalar, yeni katılan birinin ilk gün doğru şekilde çalışmasını sağlar. Üstelik üretim sırasında “kim bu dosyayı repoya attı?” tartışmalarını azaltır. Sürüm kontrolü, ekip anlaşmasıdır; sadece araç seçimi değildir.
Proje ayarlarını ve plugin mimarisini kurgulamak
Unreal Engine’de Project Settings ve plugin seçimleri, hem performansı hem de üretim ergonomisini belirler. Erken dönemde yanlış plugin bağımlılıkları eklemek, ileride kaldırılması zor bir yük oluşturur. Bu nedenle “minimum gerekli” yaklaşımı daha güvenlidir: ihtiyacı doğrulanmamış eklentileri projeye dahil etmemek iyi bir alışkanlıktır.
Bir diğer kritik konu, üretim sırasında ortaya çıkacak modüler ihtiyaçları plugin mimarisiyle karşılamaktır. Örneğin UI altyapısı, gameplay framework, araçlar (tools) veya özel import pipeline’ı plugin olarak ayrıştırılabilir. Böylece kod tabanı daha okunur olur ve ekipler paralel çalışmayı daha rahat yönetir.
Default config ve Scalability ayarlarını düzenlemek
Proje açılır açılmaz doğru kalite seviyelerini görmek, ekip içinde “bu sahne ağır mı?” tartışmalarını anlamlı kılar. DefaultEngine.ini, DefaultGame.ini ve Scalability ayarları; hedef platforma göre başlangıç değerleri belirlemek için kullanılabilir. Ayrıca input mapping, collision preset’leri ve physics ayarları da bu aşamada standardize edilmelidir.
Plugin sınırlarını ve bağımlılıklarını yönetmek
Plugin’ler “kolay çözüm” gibi görünse de bağımlılık zinciri büyüdükçe güncelleme ve uyumluluk riski artar. Özellikle marketplace plugin’lerinde sürüm geçişleri, engine upgrade sırasında sorun çıkarabilir. Bu yüzden plugin listesi için bir “değerlendirme kontrolü” oluşturmak faydalıdır: kullanım amacı, kritik mi, alternatif var mı, güncelleme sıklığı nasıl gibi.
Aşağıdaki örnek, .uproject içinde plugin ekleme mantığını gösteren sade bir parça sunar:
{
"FileVersion": 3,
"EngineAssociation": "5.3",
"Category": "",
"Description": "",
"Plugins": [
{ "Name": "Niagara", "Enabled": true },
{ "Name": "EnhancedInput", "Enabled": true },
{ "Name": "OnlineSubsystem", "Enabled": false }
]
}Buradaki hedef, proje büyüdükçe “hangi plugin neden aktif?” sorusunun yanıtının izlenebilir olmasıdır. İzlenebilirlik, üretim hızını doğrudan artırır.

Üretim hattını ve asset pipeline akışını kurmak
Proje kurulumu “çalışıyor” olsa bile üretim hattı oturmadan ekip verimli üretim yapamaz. Asset pipeline; DCC araçlarından (Maya, Blender, 3ds Max, Substance) Unreal’a import, materyal standardı, LOD üretimi, naming ve klasörleme, versiyonlama ve test süreçlerinin toplamıdır. Bu akışın standartları net değilse herkes kendi yöntemini üretir ve kalite dalgalanır.
İyi bir pipeline, hatayı erken yakalamayı hedefler. Örneğin yanlış ölçekte import edilen bir mesh’in, build sırasında otomatik kontrolle yakalanması, sonradan sahnede sorun aramaktan daha ucuzdur. Aynı şekilde texture formatı, mipmap politikası, compression ayarı gibi konular da “kişiye göre” değişmemelidir.
DCC export ve import standartlarını yazılı hâle getirmek
Ölçek birimi (cm), pivot standartları, naming kuralı, LOD adlandırması ve collision üretimi gibi konular için kısa ama net bir standart dokümanı hazırlamak gerekir. Bu doküman, teknik sanatçı ve level art ekibinin ortak referansı olur. Ayrıca “hangi içerik nasıl kontrol edilir” maddeleri, QA sürecini de kolaylaştırır.
Material ve texture politikalarını sürdürülebilir kılmak
Materyal tarafında master material yaklaşımı, tutarlı görünüm ve hızlı iterasyon sağlar. Texture tarafında ise maksimum çözünürlük sınırları, kanal paketleme (ORM), sık kullanılan compression ayarları, normal map standartları belirlenmelidir. Böylece performans ve kalite hedefleri daha öngörülebilir olur. Standartlar, yaratıcılığı kısıtlamak için değil; üretimi güvenli ve ölçeklenebilir yapmak içindir.
Bu aşamada ekip içinde basit bir checklist ile ilerlemek iyi sonuç verir:
- Asset adı prefix kuralına uyuyor mu kontrol etmek
- Doğru klasöre kaydedildi mi doğrulamak
- Pivot ve ölçek standartları sağlandı mı incelemek
- LOD ve collision politikası uygulandı mı gözden geçirmek
- Texture boyutları ve compression ayarlarını doğrulamak
Build, paketleme ve CI/CD akışını planlamak
Üretim yapısının en görünmez ama en etkili parçası, build ve paketleme akışıdır. “Bende çalışıyor” yaklaşımı, ekip büyüdükçe sorun üretir. Bu nedenle baştan itibaren en azından bir “gece build’i” ya da düzenli paketleme doğrulaması planlamak gerekir. Böylece entegrasyon sorunları erken yakalanır.
Unreal tarafında paketleme, hedef platforma göre farklı tuzaklar barındırır: plugin uyumsuzluğu, missing cooking asset’ler, platform özel shader derleme süreleri ve config farkları. Bunları sprint sonunda fark etmek yerine günlük olarak doğrulamak daha sağlıklıdır.
Build konfigürasyonlarını ve hedeflerini tanımlamak
Development, DebugGame ve Shipping konfigürasyonları; hangi ekip üyesinin hangi durumda neyi kullanacağını belirler. Ayrıca “Test map” ve “Smoke test” gibi hızlı doğrulama haritaları kurmak, paketleme öncesi minimum kontrol sağlar. Build hedefleri net değilse herkes farklı şey test eder.
Otomasyon için UAT komutlarını standardize etmek
Unreal Automation Tool (UAT) ve BuildCookRun gibi akışlar, CI/CD tarafında standart komutlar üretmeye yarar. Bu komutları dokümante etmek, yeni bir makinenin hızlı kurulmasını sağlar ve build hatalarının tekrar üretilebilir olmasına yardımcı olur. Örneğin paketleme için ortak bir komut şablonu belirlemek, ekip içi “hangi ayarlarla alıyoruz?” sorusunu ortadan kaldırır.
Onboarding ve çalışma kurallarını dokümante etmek
Proje kurulumu sadece teknik ayarlar değildir; ekip davranışlarının da standardı olmalıdır. Yeni biri projeye katıldığında, “hangi branch?”, “nasıl commit?”, “nasıl lock?”, “hangi klasöre ne konur?” sorularının hızlı yanıtı olmalıdır. Bu amaçla kısa bir onboarding rehberi, üretim hızını belirgin şekilde artırır.
Dokümantasyonun güzel tarafı, mükemmel olmak zorunda olmamasıdır. İlk sürümde en kritik kuralları yazmak yeterlidir: proje kurulumu, sürüm kontrol adımları, klasör/naming standartları, build alma adımları, temel sorun giderme notları. Sonra ekip büyüdükçe genişletilebilir.
Code review ve asset review ritmini oturtmak
Code review, yalnızca hata yakalamak değil; ekipte ortak kalite anlayışı oluşturmak içindir. Asset review ise aynı mantıkla, görsel kaliteyi ve performans standardını korur. Haftalık ya da sprint sonu kısa review toplantıları, “standart sapmalarını” erken yakalar ve geri dönüş maliyetini düşürür.
Engine upgrade ve sürüm geçiş planını yapmak
Unreal Engine sürüm yükseltmeleri, özellikle plugin bağımlılıklarında kırılma riski taşır. Bu yüzden upgrade kararı, üretimin ortasında değil; planlı bir pencerede yapılmalıdır. “Önce prototip branch’inde denemek”, “kritik sahneleri benchmark etmek”, “paketleme testlerini tekrarlamak” gibi adımlar, geçişi daha güvenli hâle getirir.

Pratik kontrol listesiyle ilk günü güvenceye almak
Tüm bu başlıklar, ilk bakışta çok gibi görünebilir; ancak doğru sırayla ilerlediğinizde proje kurulumunu birkaç günde sağlam temele oturtmak mümkündür. Aşağıdaki kısa liste, “ilk gün” için pratik bir güvence sağlar:
- Hedef platform ve performans bütçesini yazılı hâle getirmek
- Klasör yapısı ve asset naming convention dokümanı oluşturmak
- Source control aracı ve lock/merge politikasını belirlemek
- Project Settings ve plugin listesini minimumla başlatmak
- Import standartları ve master material yaklaşımını kurmak
- Build/paketleme akışını en azından haftalık doğrulamak
- Onboarding rehberini ilk sürüm olarak yayınlamak
Bu çerçeve, ekiplerin daha hızlı üretim yapmasına, hataları erken yakalamasına ve içerik kalitesini tutarlı bir çizgide tutmasına yardım eder. Eğer ekibinizde farklı disiplinler aynı projede yoğun çalışıyorsa, bu yapıların eğitimle birlikte ele alınması daha hızlı sonuç verir; bu noktada Unreal Engine eğitimi ile ekip içi standartları ortaklaştırmak iyi bir adım olabilir.
Özetle: Unreal Engine proje kurulumu, üretim yapısını “sonradan toparlamak” yerine en baştan tasarlamayı gerektirir. Doğru planlama, sadece teknik borcu azaltmaz; ekip iletişimini ve teslim hızını da doğrudan iyileştirir.






