You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python应用中通过按钮触发打开Unreal Engine项目

Python应用触发打开Unreal Engine项目的实现方案

核心逻辑非常简单:直接调用系统进程启动UE编辑器可执行文件,传入目标.uproject文件的绝对路径作为启动参数即可,无需对接复杂的UE SDK。

前置准备

  • 先确认两个核心路径的正确性,提前手动测试有效性:
    • UE编辑器可执行文件路径:UE5 Windows默认路径为C:\Program Files\Epic Games\UE_5.x\Engine\Binaries\Win64\UnrealEditor.exe,UE4 Windows默认路径为C:\Program Files\Epic Games\UE_4.xx\Engine\Binaries\Win64\UE4Editor.exe,Mac路径为/Users/Shared/Epic Games/UE_版本号/Engine/Binaries/Mac/UnrealEditor.app
    • 目标UE项目的.uproject文件绝对路径,例如D:\UEProjects\MyTestProject\MyTestProject.uproject
  • 手动验证路径:Windows下可以打开CMD,输入"你的UE编辑器路径" "你的uproject路径"回车,确认可以正常打开项目,避免路径拼写错误导致后续调用失败。

按钮点击事件核心实现

Python GUI库的按钮点击逻辑本质都是调用subprocess模块启动独立进程,以下是两种常见GUI库的示例:

PyQt/PySide场景示例

import sys
import subprocess
from PySide6.QtWidgets import QApplication, QWidget, QPushButton

# 替换为你自己的实际路径
UE_EDITOR_PATH = r"C:\Program Files\Epic Games\UE_5.2\Engine\Binaries\Win64\UnrealEditor.exe"
TARGET_UPROJECT_PATH = r"D:\UEProjects\MyTestProject\MyTestProject.uproject"

class MainWindow(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("UE项目启动工具")
        self.resize(300, 200)
        open_ue_btn = QPushButton("打开UE项目", self)
        open_ue_btn.clicked.connect(self.open_ue_project)
        open_ue_btn.move(100, 80)

    def open_ue_project(self):
        try:
            # creationflags是Windows专属参数,作用是隐藏多余的CMD弹窗
            subprocess.Popen(
                [UE_EDITOR_PATH, TARGET_UPROJECT_PATH],
                creationflags=subprocess.CREATE_NO_WINDOW
            )
        except Exception as e:
            print(f"启动失败:{e}")

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = MainWindow()
    window.show()
    sys.exit(app.exec())

Tkinter场景示例

import tkinter as tk
import subprocess

# 替换为你自己的实际路径
UE_EDITOR_PATH = r"C:\Program Files\Epic Games\UE_5.2\Engine\Binaries\Win64\UnrealEditor.exe"
TARGET_UPROJECT_PATH = r"D:\UEProjects\MyTestProject\MyTestProject.uproject"

def open_ue_project():
    try:
        subprocess.Popen(
            [UE_EDITOR_PATH, TARGET_UPROJECT_PATH],
            creationflags=subprocess.CREATE_NO_WINDOW
        )
    except Exception as e:
        print(f"启动失败:{e}")

root = tk.Tk()
root.title("UE项目启动工具")
root.geometry("300x200")
open_btn = tk.Button(root, text="打开UE项目", command=open_ue_project)
open_btn.pack(pady=80)
root.mainloop()

注意事项

  • 可以将UE编辑器路径、uproject路径做成可配置项,支持用户手动选择,适配不同设备的安装路径和多UE版本需求。
  • Mac/Linux环境下直接移除creationflags参数即可,路径对应替换为对应系统的格式。
  • 如果需要启动项目后自动执行指定操作,可以追加UE支持的命令行参数,例如加-game直接启动游戏模式,加-run=pythonscript -script="自定义脚本路径.py可以启动UE后自动执行指定Python脚本。

内容的提问来源于stack exchange,提问作者Nitin Roy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 15:15:04