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:
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:
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:
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:
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,
ExecCmdbaşlangıç parametresindepykomutuyla 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ı.
Sık sorulan sorular
Unreal Engine’de Python kullanmak için bilgisayara ayrıca Python kurmak gerekir mi?
Epic Games’in kılavuzuna göre Python Editor Script Plugin, Python 3.11.8’in gömülü sürümünü içeriyor. Bu nedenle ayrıca Python kurmak gerekmiyor.
Unreal Engine Python kodu oyun çalışırken kullanılabilir mi?
Hayır. Belgede Python ortamının Unreal Editor’da kullanılabildiği, Play In Editor, Standalone Game veya paketlenmiş uygulamada kullanılamadığı belirtiliyor.
Python eklentisi her Unreal projesinde ayrı mı etkinleştiriliyor?
Evet. Python Editor Script Plugin, kullanılacağı her proje için ayrı etkinleştirilmeli; etkinleştirme sonrasında editör yeniden başlatılmalı.
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’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.




Yorumlar 0