Python script editor plugin for Unreal Engine
The Python Script Editor is structured as a standard Unreal Engine plugin with clear separation of concerns:
PythonScriptEditorModule: Main plugin modulePythonScriptEditorSettings: Settings managementPythonScriptEditorCommands: Editor commandsPythonScriptEditorStyle: UI stylingSPythonScriptEditorWindow: Main editor windowSPythonTextEditor: Text editing componentSOutputLogPanel: Output displayPythonSyntaxMarshaller: Syntax highlightingUE_PYTHONSCRIPTEDITOR_PYTHON_API_URL
UE_PYTHONSCRIPTEDITOR_DOC_URL
The PythonScriptEditorSettings class manages:
Default user data path: [ProjectContent]/PythonScriptEditor/
Source/
βββ Private/
β βββ Core/ # Core plugin functionality
β β βββ PythonScriptEvaluator.h # Python execution engine
β β βββ ScriptRegistry.h # Script management
β βββ Components/ # Reusable UI components
β β βββ STabWidget.h # Custom tab management system
β β βββ SInteractiveEditableText.h # Base for I/O panels
β βββ Dialogs/ # Modal windows and dialogs
β β βββ Settings/ # Settings UI
β β βββ About/ # About dialog
β βββ Interfaces/ # Plugin interfaces
β β βββ IPythonRunner.h # Python execution interface
β β βββ ISettingsProvider.h # Settings management
β βββ Marshallers/ # Data conversion and formatting
β β βββ SyntaxHighlight/ # Syntax highlighting
β β βββ OutputFormatter/ # Output formatting
β βββ Widgets/ # Main UI widgets
β βββ SPythonTextEditor.h # Main editor (links to PythonScriptEvaluator)
β βββ SOutputLogPanel.h # Output display
βββ Public/ # Public API
βββ PythonScriptEditorDefs.h
βββ PythonScriptEditorModule.h
SPythonScriptEditorWindow
STabWidget)SPythonTextEditor)SOutputLogPanel)SPythonScriptEditorWindow
βββ Toolbar
βββ SOutputLogPanel
βββ STabWidget (Tab Container)
βββ Multiple SPythonTextEditor instances
SPythonTextEditor
PythonScriptEvaluator for code executionSyntaxMarshaller for highlightingSTabWidget
SInteractiveEditableText
SPythonTextEditorPythonScriptEvaluatorOutputFormatterSOutputLogPanel