Kısaca
- Python kullanımı için her projede Python Editor Script Plugin’i etkinleştirmek ve editörü yeniden başlatmak gerekiyor.
- Unreal Editor, yerleşik Python 3.11.8 sürümünü kullanıyor; ayrıca Python kurmak gerekmiyor.
- Betikler konsoldan, File menüsünden, başlangıç ayarlarından veya komut satırından çalıştırılabiliyor.
- Python desteği editör otomasyonuna yönelik; PIE, Standalone Game ve paketlenmiş oyunda çalışmıyor.
Bu rehberde ne öğreneceksiniz?
Unreal Editor’da Python’ı etkinleştirmeyi, basit bir betiği çalıştırmayı ve farklı otomasyon yöntemleri arasından işinize uygun olanı seçmeyi öğreneceksiniz. Epic Games’in dokümantasyonu, Python desteğini deneysel olarak işaretliyor ve özellikle ürün yayımlarken dikkatli olunmasını öneriyor. Bu nedenle burada anlatılan kullanım alanı, oyun çalışırken işleyen oynanış kodu değil; editör içindeki üretim ve içerik yönetimi görevleri.
Python, farklı 3D uygulamalarını birbirine bağlayan üretim süreçlerinde ortak bir betik dili olarak kullanılabiliyor. Unreal Editor içinde de varlık yönetimi iş akışlarını otomatikleştirmek, Static Mesh’ler için LOD üretimi gibi zaman alanı işleri yapmak, seviye içeriğini prosedürel biçimde yerleştirmek ve editöre özel arayüzler hazırlamak mümkün. Bunlar, dokümantasyonda belirtilen kullanım örnekleri; her proje için hazır bir otomasyonun bulunduğu anlamına gelmiyor.
Gereksinimler ve proje hazırlığı
Python özellikleri, Unreal Editor’daki Python Editor Script Plugin üzerinden sağlanıyor. Eklenti proje bazında açılmalı; bir projede etkinleştirilmesi diğer projelere otomatik olarak uygulanmıyor. Epic Games, yaygın editör görevleri için basitleştirilmiş API’ler sunan Editor Scripting Utilities eklentisinin de açılmasını öneriyor.
Editör, eklentinin içinde gelen Python 3.11.8 sürümünü kullanıyor. Bu nedenle yalnızca Unreal Editor’da betik çalıştırmak için bilgisayara ayrıca Python kurmak gerekmiyor. Farklı bir Python sürümünü gömmek isteyenlerin işletim sisteminde UE_PYTHON_DIR ortam değişkenini ayarlaması ve Unreal Engine’i kaynak koddan yeniden derlemesi gerekiyor; bu, başlangıç için gerekli bir adım değil.
Adım adım: Python’ı açın ve ilk betiği çalıştırın
Kullanacağınız Unreal projesini açın. Ana menüden Edit > Plugins yolunu izleyin.
Plugins penceresindeki Scripting bölümünü bulun ve Python Editor Script Plugin seçeneğini etkinleştirin. Epic Games’in önerisi doğrultusunda Editor Scripting Utilities eklentisini de açabilirsiniz.
Unreal Editor’ı yeniden başlatın. Eklentinin etkinleştirilmesi tek başına yeterli değil; betik çalıştırmadan önce yeniden başlatma gerekiyor.
İlk deneme için Output Log panelini açın ve konsol girişini Python moduna alın. Konsolu ters tırnak (
) tuşuyla açmak da mümkün. Bu modda girilen Python satırları hemen çalıştırılıyor; birden fazla satır için **Shift + Enter** kullanılabiliyor.print` çıktıları da Output Log panelinde görüntüleniyor.Dosyadan betik çalıştırmak için ana menüdeki File > Execute Python Script seçeneğini kullanarak bilgisayardaki betiği seçin. Daha önce çalıştırılmış dosyaları Recent Python scripts listesinden yeniden başlatabilirsiniz. Liste betiğin dosyadaki güncel hâlini okur.
Konsolun normal komut modundayken py komutuyla bir Python satırı veya dosyası da çalıştırılabilir. Dokümantasyondaki dosya örneği şöyledir:
py "C:\MyScripts\my_script.py"Bu örnekteki yolu çalıştırılacak betiğin konumuyla değiştirin. Betik ek komut satırı argümanları bekliyorsa bunlar dosya adından sonra verilebiliyor.
Tekrarlanan işleri otomatikleştirme
Bir betiği her açılışta çalıştırmak istiyorsanız, iki yöntem öne çıkıyor. Projeye özel Project Settings içinde Plugins > Python bölümündeki Startup scripts ayarına betikleri ekleyebilirsiniz. Unreal Editor, bu betikleri varsayılan başlangıç seviyesi tamamen yüklendikten sonra çalıştırıyor. Değişikliklerin ardından editörü yeniden başlatın; betikler sonraki proje açılışında devreye girer.
Diğer yöntem, proje veya eklenti içindeki Content/Python klasörüne init_unreal.py adlı bir dosya koymaktır. Editör, yapılandırılmış yolların birinde bu isimde bir betik bulursa otomatik olarak çalıştırır. Epic Games bu yaklaşımı, aynı içerikle çalışan kişilerin her editör başlangıcında ortak başlangıç kodunu yürütmesi gereken durumlar için açıklıyor.
Komut satırı, tekrarlanabilir işlemler veya arayüz açmadan çalıştırma için seçenek sunuyor. Tam editör yöntemi projeyi ve varsayılan başlangıç seviyesini yükledikten sonra betiği çalıştırır; dokümantasyona göre bu yol için iki ilgili eklentinin de projede etkin olması gerekir. Komutlet yöntemi ise başsız çalışabilir ve daha hızlıdır. Ancak seviyeleri kendiliğinden yüklemez; betiğin seviye içeriğine ihtiyaç duyması hâlinde yükleme adımı ayrıca ele alınmalıdır. İki komut satırı yaklaşımında da betik çalıştıktan sonra Unreal Editor kapanır.
Blueprint kullanan ekipler, Python çalıştırma düğümlerinden de yararlanabilir; fakat bu düğümler yalnızca Editor Utility Widget ve Editor Utility Blueprint gibi editöre özel sınıflarda bulunur. Dokümantasyon, Execute Python Script düğümünü Blueprint içinden Python çağırmak için öneriyor. Bu düğümdeki girişler betik çalışmadan önce okunabilir, çıkışlar ise çalışmanın ardından ayarlanabilir. Başarı durumu Return Value çıkışından izlenir; hata ayrıntıları Output Log’da bulunur. Bu düğüm dosya çalıştırmaz, Python satırlarını yürütür.
Sık karşılaşılan hatalar ve sınırlar
En önemli ayrım, editör otomasyonu ile oyun çalışma zamanı arasındadır. Python ortamı Unreal Editor’da kullanılabilir; Play In Editor (PIE), Standalone Game ve paketlenmiş yürütülebilir dosyalarda kullanılamaz. Dolayısıyla Python, oynanış betik dili olarak değerlendirilmemeli.
Bir başka yaygın sorun, eklentinin yalnızca başka bir projede açılmış olmasıdır. Her proje için ayrı etkinleştirme ve yeniden başlatma gerekir. Komutletle çalışan betiklerin seviye yüklemesini otomatik yapacağını varsaymak da hataya yol açabilir. Ayrıca betiğin Blueprint düğümünde başarısız olması durumunda hata mesajı için Output Log kontrol edilmelidir.
Sonraki adımlar: mimarlık ve görselleştirme iş akışları
Mimarlık, iç mekân tasarımı ve archviz ekipleri için Python, Unreal Editor’daki tekrarlanan içerik yönetimi işlerini azaltma ve farklı 3D uygulamalarını içeren üretim süreçlerini birbirine bağlama potansiyeli taşıyor. Örneğin ekiplerin kendi varlık yönetimi adımlarını veya seviyeye içerik yerleştirme süreçlerini otomatikleştirmesi, dokümantasyonda tanımlanan kullanım alanlarıyla örtüşüyor. Bu, belirli bir BIM aktarımının ya da belirli bir yazılımla uyumluluğun garanti edildiği anlamına gelmiyor; entegrasyonun proje içeriğine göre tasarlanması gerekiyor.
İlk aşamada küçük, editör içinde doğrulanabilen bir işi seçin ve betiği konsoldan veya Execute Python Script üzerinden deneyin. Ardından, işlem tekrarlanıyorsa başlangıç betiklerine ya da komut satırı çalıştırmasına geçin. Python desteğinin deneysel olduğu uyarısını, proje bazında eklenti gereksinimini ve oyun çalışma zamanında kullanılamayacağını üretim planına dâhil edin. Unreal Python 5.8 API dokümantasyonu, mevcut API bölümlerini ve türlerini incelemek için başvuru noktasıdır.
Kaynak ve lisans
Bu rehber, Epic Games’in Scripting the Unreal Editor using Python kılavuzundan ve Unreal Python 5.8 API Documentation sayfasından Türkçeye uyarlanmıştır. Her iki kaynak da Epic Games’in resmî dokümantasyonudur.
Sık sorulan sorular
Unreal Engine’de Python kullanmak için ayrıca Python kurmak gerekir mi?
Unreal Editor, Python Editor Script Plugin içinde Python 3.11.8 sürümünü barındırıyor. Yalnızca editörde betik çalıştırmak için ayrıca Python kurmak gerekmiyor.
Unreal Engine Python betikleri oyun çalışırken kullanılabilir mi?
Hayır. Python ortamı Unreal Editor ile sınırlı; PIE, Standalone Game ve paketlenmiş yürütülebilir dosyalarda kullanılamıyor.
Unreal Editor’da Python betiği nasıl çalıştırılır?
Python Editor Script Plugin’i proje için etkinleştirip editörü yeniden başlattıktan sonra betik konsoldan, File menüsünden veya komut satırından çalıştırılabilir. Editöre özel Blueprint’lerde Python çalıştırma düğümleri de kullanılabilir.
Kaynaklar
2 kaynakKaynak metinler yeniden yayımlanmaz; kısa alıntılar tırnak içinde verilir, geri kalanı özgün özet ve yorumdur.
Türkiye’deki mimarlık ve görselleştirme ekipleri için Python’ın en somut değeri, Unreal Editor’da tekrarlanan işleri ve içerik yönetimi adımlarını otomasyona açması. Özellikle farklı 3D uygulamalarını içeren süreçlerde, ekip içinde ortak bir betik yaklaşımı kurmak faydalı olabilir. Ancak başlangıçta büyük bir araç zinciri kurmak yerine, kapsamı belli tek bir editör görevini denemek daha sağlıklı.
Ek bir Python kurulumu gerekmemesi başlangıç eşiğini düşürüyor; yine de eklentinin proje bazında etkinleştirilmesi ve desteğin deneysel olması dikkate alınmalı. En kritik sınır, Python’ın oyun çalışırken kullanılmaması. Ofisler ve öğrenciler, betikleri projede test edip üretim sürecine almadan önce bu ayrımı ve kullandıkları proje ayarlarını netleştirmeli.




Yorumlar 0