Skip to content

PsinaDev/ue-forge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UE Forge

English | Русский

Desktop toolkit for Unreal Engine automation. Frameless dark UI, modular page architecture, runs standalone or as a combined app.

Python 3.10+ PySide6 License: MIT Platform: Windows

Note: This project supersedes Unreal-Engine-Plugin-Builder, which is now archived.


Tools

UE Forge is a host window with a sidebar that loads tool pages. Each tool can also run standalone.

plugin_builder_en.png Build UE plugins from source via UAT. Auto-discovers engine installations, validates .uplugin structure, shows live build console. Supports advanced build flags, platform selection, per-engine settings.

renamer_en.png Rename UE plugins and projects end-to-end. Handles .uplugin / .uproject JSON, .Build.cs class names and constructors, API macros, include guards, IMPLEMENT_MODULE, config files, comments. Diff-style preview before execution, backup on apply.

include_optimizer_en.png Optimize C++ #include directives across a UE project. Adds missing UE_INLINE_GENERATED_CPP_BY_NAME, replaces CoreMinimal.h with only the specific headers actually used, removes duplicates, fixes includes trapped inside preprocessor blocks. Recursive plugin scanning with per-plugin exclusion.

comandlet_runner_en.png Discover and execute UE commandlets. Scans engine and project source for UCommandlet subclasses, extracts descriptions from code comments and HelpDescription, auto-generates usage from FParse::Param patterns. Favorites, notes, live console output.


Architecture

ue_forge/
├── host/                  # Host window — sidebar, page switching, title bar
│   ├── host_window.py     # HostWindow (FramelessWindow subclass)
│   ├── single_page_shell.py
│   └── page_protocol.py   # Page interface contract
├── shared/                # Cross-module infrastructure
│   ├── styles.py          # Colors, fonts, radii (zinc + cyan theme)
│   ├── icons.py           # Lucide SVG icon renderer
│   ├── localization.py    # i18n (EN/RU), per-module registration
│   ├── config.py          # Persistent settings (JSON)
│   ├── widgets/           # PathInput, ConsoleWidget, StatusBadge
│   └── dialogs/           # MessageDialog, SettingsDialog
├── plugin_builder/        # Plugin Builder module
├── renamer/               # Renamer module
├── include_optimizer/     # Include Optimizer module
├── commandlet_runner/     # Commandlet Runner module
└── __main__.py            # Combined entry point

pyside_frameless/          # Git submodule → github.com/PsinaDev/pyside-frameless
├── frameless_window.py    # FramelessWindow with Aero Snap
└── drop_overlay.py        # Animated drag-and-drop overlay

Each tool module follows the same structure: core.py (pure Python, no Qt), page.py (PySide6 UI), strings.py (translations), __main__.py (standalone entry point).

Setup

git clone --recurse-submodules https://github.com/PsinaDev/ue-forge.git
cd ue-forge
pip install -r requirements.txt

Run

# Combined app (all tools in one window)
python -m ue_forge

# Individual tools
python -m ue_forge.plugin_builder
python -m ue_forge.renamer
python -m ue_forge.include_optimizer
python -m ue_forge.commandlet_runner

Build standalone exe

pip install pyinstaller
pyinstaller specs/ue_forge.spec

Individual tool builds: specs/plugin_builder.spec, specs/renamer.spec, specs/include_optimizer.spec.

Dependencies

  • Python ≥ 3.10
  • PySide6 ≥ 6.5
  • Pillow ≥ 12.0
  • pyside-frameless — frameless window with Aero Snap (git submodule)

License

MIT

About

Desktop toolkit for Unreal Engine automation: plugin builder, renamer, include optimizer, commandlet runner. Frameless dark UI, PySide6.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages