# Unreal Engine’de Python otomasyonu: eklentiyi açıp ilk betiği çalıştırma

Kaynak: https://3dsinifi.com/haber/unreal-enginede-python-otomasyonu-eklentiyi-acip-ilk-betigi · Kategori: Eğitimler · Yayın: 6 Kasım 2026

> Bu rehberde Unreal Editor’da Python desteğini etkinleştirmeyi, kodu konsoldan veya betik dosyasıyla çalıştırmayı ve otomasyon seçeneklerini kullanmayı adım adım ele alıyoruz. Python, oyun çalışırken değil editör içinde kullanılabiliyor.

## Kısaca
- Python desteği, her Unreal Engine projesinde ayrı etkinleştirilmesi gereken Python Editor Script Plugin üzerinden sağlanıyor.
- Resmî kılavuza göre eklenti, Python 3.11.8’in gömülü sürümünü içeriyor; ayrıca bilgisayara Python kurmak gerekmiyor.
- Python betikleri konsol, File menüsü, komut satırı, başlangıç betikleri veya yalnızca editör sınıflarında kullanılan Blueprint düğümleriyle çalıştırılabiliyor.
- Unreal Editor’daki Python, oyun çalışırken kullanılabilen bir oynanış programlama dili değil; editör ve içerik üretim otomasyonu için tasarlanmış.

## Bu rehberde ne öğreneceksiniz?

Unreal Editor içinde Python kullanmaya başlamak için önce ilgili eklentiyi projede açmak, ardından kodu uygun yöntemle çalıştırmak gerekir. Bu rehber; eklenti kurulumunu, konsoldan kod çalıştırmayı, bir Python dosyasını yürütmeyi ve otomasyonu daha sonra tekrarlanabilir hâle getirecek seçenekleri anlatıyor. Epic Games’in kılavuzu, Python’ı editörde varlık yönetimi, seviyelerde içerik yerleşimi ve zaman alan bazı işlerin otomasyonu gibi amaçlarla konumlandırıyor.

Kapsam önemli: Bu Python ortamı Unreal Editor içindir. Proje Play In Editor modunda, bağımsız oyun olarak veya paketlenmiş bir uygulama şeklinde çalışırken Python kodu kullanılmıyor. Dolayısıyla anlatılanlar oynanış mantığı değil, editör ve üretim hattı otomasyonu için bir başlangıç noktasıdır.

## Gereksinimler

- Unreal Engine projesi ve Unreal Editor.
- Proje için etkinleştirilecek **Python Editor Script Plugin**.
- Kılavuzun önerdiği ortak editör işlemleri API’leri için **Editor Scripting Utilities** eklentisi.
- Ayrı bir Python kurulumu gerekmiyor: Epic Games’in belgesine göre Python Editor Script Plugin, Python 3.11.8’i gömülü olarak içeriyor.

Unreal Python API belgesi “5.8 (Experimental)” olarak işaretlenmiş durumda. Epic Games ayrıca bu özelliğin deneysel olduğuna ve özellikle ürün yayımlama aşamasında dikkatle kullanılmasına yönelik uyarı veriyor. Bu nedenle burada tarif edilen adımları önce üretim projesinin bir kopyasında veya deneme projesinde sınamak yerinde olur. Kaynaklar ayrıca bir hesap gereksinimi belirtmiyor.

## Adım adım: Python’ı etkinleştirip kod çalıştırma

### 1. Eklentileri proje içinde açın

Unreal Editor’da hedef projeyi açın ve ana menüden **Edit > Plugins** yolunu izleyin. Eklentiler penceresindeki **Scripting** bölümünde **Python Editor Script Plugin** satırını bulun ve **Enabled** seçeneğini etkinleştirin. Epic Games, yaygın editör işlemleri için sadeleştirilmiş API’ler sağlayan **Editor Scripting Utilities** eklentisinin de açılmasını öneriyor.

Bu ayar her proje için ayrı yapılmalı. Eklentileri etkinleştirdikten sonra editörü yeniden başlatın. Yeniden başlatma adımını atlamayın; kılavuz, eklenti kurulumundan sonra editörün yeniden başlatılmasını istiyor.

### 2. Konsolun Python modunu kullanın

Satır satır deneme yapmak veya kısa bir kod parçasını hemen yürütmek için **Output Log** panelindeki konsol girişini Python moduna alın. Konsol giriş çubuğunu `~` tuşuyla açmak da mümkün. Python modunda girilen satırlar anında çalışır; birden fazla satır için **Shift+Enter** kullanılabilir veya çok satırlı bir blok metin düzenleyicisinden yapıştırılabilir.

Bu yol etkileşimli denemeler için uygundur. Kodun `print` işlevinden gelen çıktılar da **Output Log** paneline yönlendirilir. Komut konsolu **Cmd** modundayken ise `py` komutuyla satırın geri kalanı Python olarak çalıştırılabilir. Mevcut bir betik dosyasını bu biçimde çağırmanın örneği:

```bat
py "C:\MyScripts\my_script.py"
```

Buradaki dosya yolu, çalıştırılacak betiğin konumunu gösteren kılavuz örneğidir; kendi dosyanız için yolu ona göre değiştirmeniz gerekir.

### 3. Bir betik dosyasını File menüsünden çalıştırın

Daha önce çalıştırmadığınız bir dosyayı seçmek için ana penceredeki **File > Execute Python Script** seçeneğini kullanın. Önceden çalıştırılmış dosyalar **Recent Python scripts** listesinde yeniden seçilebilir. Editör dosyayı diskten tekrar okuduğu için betikte yapılan son değişiklikler de bu yolla çalıştırılır.

Bu yöntem, kodu konsola tekrar tekrar yapıştırmadan dosya üzerinden yürütmeye yarar. Dosya içeriğinin ne yaptığına ilişkin otomatik bir güvenlik veya doğrulama adımı kaynakta belirtilmiyor; bu nedenle çalıştırmadan önce betiği ve hedef projeyi kontrol edin.

### 4. Komut satırından tam editörle çalıştırın

Betik, proje içeriğiyle veya yüklenmesi zaman alabilecek bir seviyeyle etkileşiyorsa tam Unreal Editor’ı başlatan yöntem kullanılabilir. Editör projeyi açar, varsayılan başlangıç seviyesini yükler ve ortam hazır olduğunda betiği çalıştırır. Kaynak kılavuzdaki Windows komut satırı örneği:

```bat
UnrealEditor-Cmd.exe "C:\projects\MyProject.uproject" -ExecutePythonScript="c:\my_script.py"
```

Bu seçenek için projede **Editor Scripting Utilities** eklentisinin etkin olması gerekir; Python Scripting Plugin de komutta belirtilen projede önceden açılmış olmalıdır. Kılavuza göre betik tamamlandıktan sonra editör kapanır.

### 5. Arayüzsüz komutlet seçeneğini değerlendirin

Komutlet yöntemi hızlı çalıştırma ve editör arayüzünü açmadan, yani headless biçimde yürütme olanağı sunuyor. Kılavuz, `UnrealEditor-Cmd.exe` ile `-run=pythonscript` ve `-script` argümanlarının kullanılmasını gösteriyor:

```bat
UnrealEditor-Cmd.exe "C:\projects\MyProject.uproject" -run=pythonscript -script="c:\my_script.py"
```

Bu yöntem seviyeleri kendiliğinden yüklemez. Betik bir seviyeye ihtiyaç duyuyorsa kaynakta, seviye yükleme çağrısının betiğin ilk işi olması gerektiği belirtiliyor:

```python
unreal.get_editor_subsystem(unreal.LevelEditorSubsystem).load_level("/Game/maps/UVlayoutTest.UVlayoutTest")
```

Komutlet örneklerindeki proje, betik ve seviye yolları belgede verilen örnek değerlerdir; gerçek projedeki konumlarla eşleştirilmeden kullanılmamalıdır.

### 6. Tekrarlanan işleri başlangıçta çalıştırın

Aynı proje veya eklentiyle çalışan ekibin her açılışta aynı hazırlık koduna ihtiyaç duyduğu durumlarda `init_unreal.py` kullanılabilir. Editör, yapılandırılmış Python yollarında bu adla bir dosya bulursa dosyayı otomatik çalıştırır. Kılavuz, dosyanın proje veya eklentinin `Content/Python` klasörüne yerleştirilebileceğini belirtiyor.

Bir projeye her açılışta çalışacak bir veya daha fazla dosya atamak için **Edit > Project Settings** bölümünde **Plugins > Python** ayarlarına gidip betikleri **Startup scripts** alanına ekleyin. Ayarı değiştirdikten sonra editörü yeniden başlatın; betikler sonraki açılışta varsayılan başlangıç seviyesi tamamen yüklendikten sonra çalışır.

## Sık yapılan hatalar

- **Eklentiyi yalnızca bir kez açmanın yeterli olduğunu düşünmek:** Python Editor Script Plugin her proje için ayrı etkinleştirilir.
- **Python’ı oyun çalışma zamanında kullanmaya çalışmak:** Bu özellik editör içindir; Play In Editor, Standalone Game ve paketlenmiş uygulama sırasında kullanılmaz.
- **Komutletin seviyeyi otomatik yükleyeceğini varsaymak:** Kaynak, komutletin seviyeleri kendiliğinden yüklemediğini özellikle belirtiyor.
- **Betik hazır olmadan erken başlatmak:** Kılavuz, `ExecCmd` başlangıç parametresinde `py` komutuyla betik çalıştırılmasını önermiyor; editör ortamı veya başlangıç seviyesi henüz hazır olmayabilir.
- **Deneysel niteliği göz ardı etmek:** Python desteği deneysel olarak tanımlanıyor. Özellikle teslimat veya yayımlama sürecine girecek projelerde önce kontrollü test yapılmalı.

## Mimarlık ve görselleştirme iş akışlarına etkisi

Unreal Engine’de sahne kuran mimarlar, iç mimarlar ve archviz ekipleri için Python; editörde tekrarlanan işlemleri betiklerle yürütme, içerik yönetimi ve seviyede içerik yerleşimi gibi işlere temel oluşturabilir. Ancak kaynaklar belirli bir mimari otomasyon betiği sunmuyor; iş akışına uyarlama, proje içeriğine ve yazılacak koda bağlı. Konsol kısa denemeler için, dosyadan çalıştırma ise tekrar kullanılabilir betikler için daha uygun bir başlangıç sağlıyor.

Burada ayrıca güçlü bir ekran kartı, ücretli lisans veya hesap gereksinimi kaynaklarda belirtilmiyor. Bu yüzden donanım ya da maliyet avantajı hakkında kesin bir sonuç çıkarmak mümkün değil. Ekipler açısından asıl kontrol noktaları eklentilerin projede etkin olup olmadığı, betiğin çalıştığı editör bağlamı ve deneysel özelliğin teslimat sürecine uygunluğudur.

## Sonraki adımlar

Önce deneme projesinde eklentileri açıp konsol ve File menüsü üzerinden çalışma yöntemlerini karşılaştırın. Ardından tek seferlik işlemleri dosyaya taşıyın; düzenli çalıştırılması gereken hazırlık görevlerini ise proje başlangıç betikleri olarak değerlendirin. Blueprint ile kullanım gerekiyorsa Python düğümlerinin yalnızca **Editor Utility Widget** ve **Editor Utility Blueprint** gibi editör sınıflarında kullanılabildiğini unutmayın. Kaynağa göre **Execute Python Script** düğümü kod parçacığı yürütür, dosya çalıştırmaz; dosya veya kod için **Execute Python Command** seçeneği bulunur. Hata çıktıları **Output Log** panelinde görülebilir.

## Kaynak ve lisans

Bu rehber, Epic Games’in Unreal Editor’da Python kullanmaya başlama ve Python API belgelerinden yararlanılarak hazırlandı. Kaynak sayfalar bu içerik için serbest lisanslı olarak sağlandı; anlatım Türkçeye uyarlanarak yeniden yazıldı.

## Pro ipucu
İlk denemeleri üretim projesi yerine bir kopyada yapın; komutletle çalışırken seviye gerekiyorsa yükleme çağrısını betiğin başına ekleyin.

## 3dsınıfı yorumu
Türkiye’de küçük archviz ekipleri ve öğrenciler için editör içinde tekrarlanan işleri otomatikleştirme olanağı, özellikle proje hazırlığı ve içerik yönetiminde değerlendirilebilir. Başlangıç maliyeti ya da donanım gereksinimi konusunda kaynaklar bir iddia sunmadığından, bu yöntemi doğrudan daha ucuz veya hızlı diye konumlandırmak doğru olmaz.

Ofislerin karar verirken dikkate alması gereken nokta, Python desteğinin deneysel oluşu ve yalnızca editörde çalışması. Otomasyon betiklerini ekip içinde paylaşmadan önce proje kopyasında doğrulamak, eklenti ayarlarını belgelemek ve teslimat sürecinde istenmeyen etkileri kontrol etmek pratik bir yaklaşım olacaktır.

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