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
SPythonTextEditor
PythonScriptEvaluator
OutputFormatter
SOutputLogPanel