# Unreal Engine’de Python otomasyonu: editör iş akışına başlangıç

Kaynak: https://3dsinifi.com/haber/unreal-enginede-python-otomasyonu-editor-is-akisina · Kategori: Eğitimler · Yayın: 14 Kasım 2026

> Bu rehber, Unreal Editor’da Python desteğini etkinleştirmeyi ve betikleri konsol, menü, komut satırı ya da editöre özel Blueprint’ler üzerinden çalıştırmayı anlatıyor. Python, oynanış betiği olarak kullanılamıyor.

## 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

1. Kullanacağınız Unreal projesini açın. Ana menüden **Edit > Plugins** yolunu izleyin.
2. 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.
3. Unreal Editor’ı yeniden başlatın. Eklentinin etkinleştirilmesi tek başına yeterli değil; betik çalıştırmadan önce yeniden başlatma gerekiyor.
4. İ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.
5. 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:

```bat
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.

## Pro ipucu
Önce betiği Python konsolunda küçük bir adımla deneyin; otomatik çalıştırmaya geçmeden önce çıktıyı ve hataları Output Log’da kontrol edin.

## 3dsınıfı yorumu
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.

## Kaynaklar
- [dev.epicgames.com](https://dev.epicgames.com/documentation/en-us/unreal-engine/scripting-the-unreal-editor-using-python) (özet)
- [dev.epicgames.com](https://dev.epicgames.com/documentation/en-us/unreal-engine/python-api/) (özet)

_Yapay zekâ ile yazıldı, kaynaklarla doğrulandı. © 3dsınıfı_
